>> [CHWARAE CERDDORIAETH]
>> ZAMYLA Chan: Dewch i weithredu Vigenere, mae ychydig yn fwy
sicrhau cipher na Cesar.
Mae'r testun plaen yn cael ei enciphered ddefnyddio gyfres yn lle gyfanrif.
Mae pob cymeriad yn nhrefn yr wyddor yn testun plaen yn cael ei symud gan
llythyr yn y gair allweddol.
>> Yn yr enghraifft hon, y gair allweddol ohai, O yn cyfateb i newid o 14 oed; H i
symud o 7; A, symud o 0, ac yr wyf yn newid o 8.
Os ydych chi wedi rhoi ar waith yn llwyddiannus eich Cesar cipher, bydd yn cael ei 'n glws
fframwaith yr ydych Gall gweithredu Vigenere.
Fel y gallwch weld, rhedeg Vigenere cipher gyda chymeriad unigol fel
keyword yr un peth fel cipher Caesar.
>> Yr un camau yn berthnasol i Vigenere fel y gwnaethant yn Cesar.
Y gair allweddol yn yr ail linell orchymyn ddadl, er mwyn i chi gael gafael arno gyda argv1.
Yna, bydd angen i chi gadarnhau bod yr allwedd gair yn wir i gyd yn nhrefn yr wyddor.
Dyma ble mae alffa gallu dod i mewn 'n hylaw.
Os oes gennych air allweddol dilys, byddwch yn cael y cryfder gan y defnyddiwr, ac yna
ydych yn barod i encipher.
>> Mae'r fformiwla cipher Vigenere yn debyg i Gesar fformiwla, ac eithrio yn awr k
yn dod yn k isysgrif j, yn dangos y j-fed llythyren y gair allweddol.
Gadewch i ni gamu trwy'r broses hon.
Dywedwch eich bod chi eisiau anfon neges at eich damwain, yr wyf yn hoffi i chi, ond nad ydych yn gwneud
am i bawb ei wybod.
Felly, byddwch yn defnyddio cipher Vigenere gyda'r panda keyword, oherwydd, wel, byddwch hefyd yn
yn hoffi pandas.
>> Bydd y llythyr cyntaf, I, yn cael eu symud gan p, gan roi x, 15 llythyr ar ôl i mi,
oherwydd bod 15 p yn y 16eg llythyren o'r wyddor.
Y llythyr nesaf yn y testun plaen yn lle, felly ni fydd yn cael ei symud.
A'r mynegai y gair allweddol ni fydd yn newid.
>> Yna y llythyr nesaf yn destun plaen yn l, gan symud, nad yw'n symud
y llythyr testun plaen o gwbl, oherwydd mae a yn y llythyr 0fed o'r wyddor.
Mae'r broses yn parhau, hyrwyddo'r cymeriad keyword bob tro y mae yna
llythyr yn y testun plaen.
Unwaith y bydd y llythyr olaf yn y gair allweddol yn gyrraedd, yr allweddair lapio o gwmpas a
sifftiau i'r blaen nesaf lythyr testun drwy t.
X lvne Noh.
Pa mor rhamantus.
>> Felly, o ystyried cymeriad, sut ydych chi'n trosi hynny yn y cyfatebol
cipher sifft?
Ceisiwch gymharu ASCII gwerthoedd y newid.
Efallai y gallwch ddod o hyd i berthynas rhwng y llythrennau a'u
mynegai yn nhrefn yr wyddor gan ddefnyddio mathemateg ASCII.
Allwch chi ychwanegu neu dynnu un cymeriad oddi wrth ei gilydd i gael
i chi y canlyniad a ddymunir?
>> Cofiwch fod y sifftiau ar gyfer priflythyren a llythrennau bach yr un fath.
Felly, efallai y bydd angen i chi nodi dau fformiwlâu tebyg i gynrychioli'r
sifft, un ar gyfer priflythyren cymeriad keyword, ac un
ar gyfer un llythrennau bach.
>> Nesaf, cofiwch fod y datblygiadau keyword dim ond os yw'r cymeriad yn
testun plaen yn llythyr a bod achos y blaen
Rhaid testun yn cael eu cadw.
Felly, os edrychwn ar y fformiwla ar gyfer Newid Vigenere, mae dau fynegai
newidynnau, i a j.
Mae un yn cadw golwg ar y sefyllfa yn y blaen testun, a'r llall yn y sefyllfa
yn yr allweddair.
Ond efallai y bydd eich testun plaen yn llawer hirach nag y mae eich allweddair, ac os felly eich
Mae angen mynegai allweddair i lapio o gwmpas yn ôl i ddechrau'r gair allweddol.
>> Sut ydych chi'n gwneud hyn?
Gadewch i ni edrych yn ôl ar y modwlo gweithredwr.
Modwlo yn cael ei ddiffinio yn y gweddill o rannu dau rif.
Ond beth yn union ymarferol defnyddio modwlo?
>> Wel, dweud eich bod wedi grŵp mawr o bobl, ac mae angen eu rhannu yn
dri grŵp.
Un ffordd o rannu pobl yn grwpiau yw cael eu cyfrif i ffwrdd.
Rydych yn rhif y grŵp grwpiau rhif 1, 2, a 3.
Bydd y person cyntaf yn dweud 1, y 2 nesaf, y 3 nesaf.
Y person ar ôl a fydd yn dweud 1, gan nad oes grŵp 4, ac mae'r
cyfrif yn dechrau drosodd oddi yno.
>> Gallwch ddefnyddio modwlo i gwneud yr un peth.
Y tro hwn, bydd y grwpiau yn grŵp 0, 1, a 2.
Y person cyntaf, rhif 1 modwlo 3, yw 1.
Person 2 modwlo 3 yw 2.
Person 3 modwlo 3 yw 0.
Person 4 modwlo 3 yn rhoi 1, ac yn y blaen gall y grwpiau lapio o gwmpas.
>> Felly, os ydych yn cymryd mynegai a modwlo y mynegai gan uchafswm maint, y
Ni fydd canlyniad yn fwy na neu'n gyfartal i faint, sy'n golygu eich bod yn
Gall gynyddu mynegai fel gymaint ag yr hoffech.
Ac ar yr amod eich modwlo y mynegai gan ryw nifer, ni fyddwch yn cael nifer
yn fwy na hynny.
Felly mae gennym 10 o bobl yn hytrach na 5, ac byddent i gyd yn cael ei neilltuo i grwpiau
rhif 0, 1, neu 2.
>> Ceisiwch i gymhwyso hyn i lapio dros y keyword, ac eithrio lle eu trefnu
pobl i niferoedd grwpiau yr ydych am i'r mynegai y gair allweddol fel y gallwch
cael y cymeriad cywir ar gyfer y symud heb fod yn fwy na'r
hyd y llinyn.
Gyda hynny, mae gennych eich Vigenere cipher.
Fy enw i yw Zamyla, ac mae hyn yn CS50.