mbraetz - Kryptographiespielplatz 2.2 FAV MAIL 
  Nomenklatur-Chiffre - komplexe Substitutionschiffre 5c2ce36e0359a0358526e8847ace27f8





Eine Nomenklatur-Chiffre funktioniert im Grunde genau wie die Caesar-Chiffre. Im Gegensatz zu einer einfachen Substitutionschiffre werden allerdings längere Zeichenketten durch ein Zeichen oder eine Zahl ersetzt. Dabei können mehrere Buchstaben, ganze Wörter oder sogar Wortgruppen auf einmal kodiert werden.

Im vorliegenden Beispiel wird folgender Zeichensatz verwendet:



abcdefghijklmnopqrstuvwxyz 0123456789,.;:-_?!+#*


Weil die Häufigkeiten der Buchstaben des zu verschlüsselnden Textes, die für die jeweilige Sprache charakteristischen Verteilungen aufweisen, wird die Nomenklatur so aufgebaut dass diese verwischt werden. Dazu werden alle möglichen Bigramme aus den Buchstaben des Alfabets gebildet und jedem der Bigramme und auch den Einzelbuchstaben jeweil eine Zahl zugeordnet.

Auf diese Weise erhält man eine Nomenklatur mit 26+26²=702 Zeichen. Diese wird noch um einige nützliche Zeichen (22 Stück) ergänzt, wodurch die hier verwendete Nomenklatur 724 Zeichen bzw. Buchstabenkombinationen kodiert. Sie kann nanürtlich auch komplexer gestaltet werden.

Wenn man nun einen Text wie "Marcel hat am 9. Mai Geburtstag." verschlüsseln will, wird dieser wie folgt zerlegt und kodiert:



Marcel hat am 9. Mai Geburtstag. -> 32 Zeichen

|Ma|rc|el| |ha|t| |am| |9|.| |Ma|i| |Ge|bu|rt|st|ag|.|

325, 462, 120, 703, 216, 20, 703, 27, 351, 703, 713, 715, 703, 351, 9, 703, 189, 110, 558, 532, 514, 189, 715 -> 23 Zeichen


Bei der Zerlegung wird versucht, fortlaufend möglichst lange Zeichenketten zu bilden. Da die hier verwendete Nomenklatur nur Bigramme als längste Zeichenfolgen enthält, sind diese also nur maximal 2 Zeichen lang. Wenn ein Zeichen in einem Bigramm nicht vorkommt, wird dieses zerlegt und die Zeichen werden einzeln kodiert. Zeichen die auch als Einzelzeichen nicht in der Nomenklatur vorkommen, werden fallengelassen.

Um zu vermeiden, dass die Chiffre durch Wiederholung von Doppelzeichen kompromitiert wird, werden sich wiederholende Bigramme aufgebrochen.



AAAAAAAAAA wird zerlegt in |AA|A|A|AA|A|A|AA|


Als weiteres Feature gibt es einen Schlüssel mit dem die Nomenklatur permutiert wird. Dabei wird einfach der Index der Tabelle mit dem Schlüssel multipliziert und über den Modul der Rest gebildet. Auf diese Weise bekommt man 360 Nomenklaturen zum Preis von einer. Hierbei ist 360 die Anzahl der Teilerfrenden zu 724.



index' = index ⊗ key = (index * key) % 724
bzw. die Umkehrrechenoperation zum Dekodieren
index = index' ⊗ key = (index' * key) % 724


Berühmte Vertreter dieser Art zu verschlüsseln sind:

  • die Große Chiffre
  • Zimmerman-Chiffre
  • Chiffre der Maria Stuart

Nun folgt die hier verwendete Nomenklatur:



1 -> 'aa'2 -> 'ab'3 -> 'ac'4 -> 'ad'5 -> 'ae'6 -> 'af'7 -> 'ag'
8 -> 'ah'9 -> 'ai'10 -> 'aj'11 -> 'ak'12 -> 'al'13 -> 'am'14 -> 'an'
15 -> 'ao'16 -> 'ap'17 -> 'aq'18 -> 'ar'19 -> 'as'20 -> 'at'21 -> 'au'
22 -> 'av'23 -> 'aw'24 -> 'ax'25 -> 'ay'26 -> 'az'27 -> 'a'28 -> 'ba'
29 -> 'bb'30 -> 'bc'31 -> 'bd'32 -> 'be'33 -> 'bf'34 -> 'bg'35 -> 'bh'
36 -> 'bi'37 -> 'bj'38 -> 'bk'39 -> 'bl'40 -> 'bm'41 -> 'bn'42 -> 'bo'
43 -> 'bp'44 -> 'bq'45 -> 'br'46 -> 'bs'47 -> 'bt'48 -> 'bu'49 -> 'bv'
50 -> 'bw'51 -> 'bx'52 -> 'by'53 -> 'bz'54 -> 'b'55 -> 'ca'56 -> 'cb'
57 -> 'cc'58 -> 'cd'59 -> 'ce'60 -> 'cf'61 -> 'cg'62 -> 'ch'63 -> 'ci'
64 -> 'cj'65 -> 'ck'66 -> 'cl'67 -> 'cm'68 -> 'cn'69 -> 'co'70 -> 'cp'
71 -> 'cq'72 -> 'cr'73 -> 'cs'74 -> 'ct'75 -> 'cu'76 -> 'cv'77 -> 'cw'
78 -> 'cx'79 -> 'cy'80 -> 'cz'81 -> 'c'82 -> 'da'83 -> 'db'84 -> 'dc'
85 -> 'dd'86 -> 'de'87 -> 'df'88 -> 'dg'89 -> 'dh'90 -> 'di'91 -> 'dj'
92 -> 'dk'93 -> 'dl'94 -> 'dm'95 -> 'dn'96 -> 'do'97 -> 'dp'98 -> 'dq'
99 -> 'dr'100 -> 'ds'101 -> 'dt'102 -> 'du'103 -> 'dv'104 -> 'dw'105 -> 'dx'
106 -> 'dy'107 -> 'dz'108 -> 'd'109 -> 'ea'110 -> 'eb'111 -> 'ec'112 -> 'ed'
113 -> 'ee'114 -> 'ef'115 -> 'eg'116 -> 'eh'117 -> 'ei'118 -> 'ej'119 -> 'ek'
120 -> 'el'121 -> 'em'122 -> 'en'123 -> 'eo'124 -> 'ep'125 -> 'eq'126 -> 'er'
127 -> 'es'128 -> 'et'129 -> 'eu'130 -> 'ev'131 -> 'ew'132 -> 'ex'133 -> 'ey'
134 -> 'ez'135 -> 'e'136 -> 'fa'137 -> 'fb'138 -> 'fc'139 -> 'fd'140 -> 'fe'
141 -> 'ff'142 -> 'fg'143 -> 'fh'144 -> 'fi'145 -> 'fj'146 -> 'fk'147 -> 'fl'
148 -> 'fm'149 -> 'fn'150 -> 'fo'151 -> 'fp'152 -> 'fq'153 -> 'fr'154 -> 'fs'
155 -> 'ft'156 -> 'fu'157 -> 'fv'158 -> 'fw'159 -> 'fx'160 -> 'fy'161 -> 'fz'
162 -> 'f'163 -> 'ga'164 -> 'gb'165 -> 'gc'166 -> 'gd'167 -> 'ge'168 -> 'gf'
169 -> 'gg'170 -> 'gh'171 -> 'gi'172 -> 'gj'173 -> 'gk'174 -> 'gl'175 -> 'gm'
176 -> 'gn'177 -> 'go'178 -> 'gp'179 -> 'gq'180 -> 'gr'181 -> 'gs'182 -> 'gt'
183 -> 'gu'184 -> 'gv'185 -> 'gw'186 -> 'gx'187 -> 'gy'188 -> 'gz'189 -> 'g'
190 -> 'ha'191 -> 'hb'192 -> 'hc'193 -> 'hd'194 -> 'he'195 -> 'hf'196 -> 'hg'
197 -> 'hh'198 -> 'hi'199 -> 'hj'200 -> 'hk'201 -> 'hl'202 -> 'hm'203 -> 'hn'
204 -> 'ho'205 -> 'hp'206 -> 'hq'207 -> 'hr'208 -> 'hs'209 -> 'ht'210 -> 'hu'
211 -> 'hv'212 -> 'hw'213 -> 'hx'214 -> 'hy'215 -> 'hz'216 -> 'h'217 -> 'ia'
218 -> 'ib'219 -> 'ic'220 -> 'id'221 -> 'ie'222 -> 'if'223 -> 'ig'224 -> 'ih'
225 -> 'ii'226 -> 'ij'227 -> 'ik'228 -> 'il'229 -> 'im'230 -> 'in'231 -> 'io'
232 -> 'ip'233 -> 'iq'234 -> 'ir'235 -> 'is'236 -> 'it'237 -> 'iu'238 -> 'iv'
239 -> 'iw'240 -> 'ix'241 -> 'iy'242 -> 'iz'243 -> 'i'244 -> 'ja'245 -> 'jb'
246 -> 'jc'247 -> 'jd'248 -> 'je'249 -> 'jf'250 -> 'jg'251 -> 'jh'252 -> 'ji'
253 -> 'jj'254 -> 'jk'255 -> 'jl'256 -> 'jm'257 -> 'jn'258 -> 'jo'259 -> 'jp'
260 -> 'jq'261 -> 'jr'262 -> 'js'263 -> 'jt'264 -> 'ju'265 -> 'jv'266 -> 'jw'
267 -> 'jx'268 -> 'jy'269 -> 'jz'270 -> 'j'271 -> 'ka'272 -> 'kb'273 -> 'kc'
274 -> 'kd'275 -> 'ke'276 -> 'kf'277 -> 'kg'278 -> 'kh'279 -> 'ki'280 -> 'kj'
281 -> 'kk'282 -> 'kl'283 -> 'km'284 -> 'kn'285 -> 'ko'286 -> 'kp'287 -> 'kq'
288 -> 'kr'289 -> 'ks'290 -> 'kt'291 -> 'ku'292 -> 'kv'293 -> 'kw'294 -> 'kx'
295 -> 'ky'296 -> 'kz'297 -> 'k'298 -> 'la'299 -> 'lb'300 -> 'lc'301 -> 'ld'
302 -> 'le'303 -> 'lf'304 -> 'lg'305 -> 'lh'306 -> 'li'307 -> 'lj'308 -> 'lk'
309 -> 'll'310 -> 'lm'311 -> 'ln'312 -> 'lo'313 -> 'lp'314 -> 'lq'315 -> 'lr'
316 -> 'ls'317 -> 'lt'318 -> 'lu'319 -> 'lv'320 -> 'lw'321 -> 'lx'322 -> 'ly'
323 -> 'lz'324 -> 'l'325 -> 'ma'326 -> 'mb'327 -> 'mc'328 -> 'md'329 -> 'me'
330 -> 'mf'331 -> 'mg'332 -> 'mh'333 -> 'mi'334 -> 'mj'335 -> 'mk'336 -> 'ml'
337 -> 'mm'338 -> 'mn'339 -> 'mo'340 -> 'mp'341 -> 'mq'342 -> 'mr'343 -> 'ms'
344 -> 'mt'345 -> 'mu'346 -> 'mv'347 -> 'mw'348 -> 'mx'349 -> 'my'350 -> 'mz'
351 -> 'm'352 -> 'na'353 -> 'nb'354 -> 'nc'355 -> 'nd'356 -> 'ne'357 -> 'nf'
358 -> 'ng'359 -> 'nh'360 -> 'ni'361 -> 'nj'362 -> 'nk'363 -> 'nl'364 -> 'nm'
365 -> 'nn'366 -> 'no'367 -> 'np'368 -> 'nq'369 -> 'nr'370 -> 'ns'371 -> 'nt'
372 -> 'nu'373 -> 'nv'374 -> 'nw'375 -> 'nx'376 -> 'ny'377 -> 'nz'378 -> 'n'
379 -> 'oa'380 -> 'ob'381 -> 'oc'382 -> 'od'383 -> 'oe'384 -> 'of'385 -> 'og'
386 -> 'oh'387 -> 'oi'388 -> 'oj'389 -> 'ok'390 -> 'ol'391 -> 'om'392 -> 'on'
393 -> 'oo'394 -> 'op'395 -> 'oq'396 -> 'or'397 -> 'os'398 -> 'ot'399 -> 'ou'
400 -> 'ov'401 -> 'ow'402 -> 'ox'403 -> 'oy'404 -> 'oz'405 -> 'o'406 -> 'pa'
407 -> 'pb'408 -> 'pc'409 -> 'pd'410 -> 'pe'411 -> 'pf'412 -> 'pg'413 -> 'ph'
414 -> 'pi'415 -> 'pj'416 -> 'pk'417 -> 'pl'418 -> 'pm'419 -> 'pn'420 -> 'po'
421 -> 'pp'422 -> 'pq'423 -> 'pr'424 -> 'ps'425 -> 'pt'426 -> 'pu'427 -> 'pv'
428 -> 'pw'429 -> 'px'430 -> 'py'431 -> 'pz'432 -> 'p'433 -> 'qa'434 -> 'qb'
435 -> 'qc'436 -> 'qd'437 -> 'qe'438 -> 'qf'439 -> 'qg'440 -> 'qh'441 -> 'qi'
442 -> 'qj'443 -> 'qk'444 -> 'ql'445 -> 'qm'446 -> 'qn'447 -> 'qo'448 -> 'qp'
449 -> 'qq'450 -> 'qr'451 -> 'qs'452 -> 'qt'453 -> 'qu'454 -> 'qv'455 -> 'qw'
456 -> 'qx'457 -> 'qy'458 -> 'qz'459 -> 'q'460 -> 'ra'461 -> 'rb'462 -> 'rc'
463 -> 'rd'464 -> 're'465 -> 'rf'466 -> 'rg'467 -> 'rh'468 -> 'ri'469 -> 'rj'
470 -> 'rk'471 -> 'rl'472 -> 'rm'473 -> 'rn'474 -> 'ro'475 -> 'rp'476 -> 'rq'
477 -> 'rr'478 -> 'rs'479 -> 'rt'480 -> 'ru'481 -> 'rv'482 -> 'rw'483 -> 'rx'
484 -> 'ry'485 -> 'rz'486 -> 'r'487 -> 'sa'488 -> 'sb'489 -> 'sc'490 -> 'sd'
491 -> 'se'492 -> 'sf'493 -> 'sg'494 -> 'sh'495 -> 'si'496 -> 'sj'497 -> 'sk'
498 -> 'sl'499 -> 'sm'500 -> 'sn'501 -> 'so'502 -> 'sp'503 -> 'sq'504 -> 'sr'
505 -> 'ss'506 -> 'st'507 -> 'su'508 -> 'sv'509 -> 'sw'510 -> 'sx'511 -> 'sy'
512 -> 'sz'513 -> 's'514 -> 'ta'515 -> 'tb'516 -> 'tc'517 -> 'td'518 -> 'te'
519 -> 'tf'520 -> 'tg'521 -> 'th'522 -> 'ti'523 -> 'tj'524 -> 'tk'525 -> 'tl'
526 -> 'tm'527 -> 'tn'528 -> 'to'529 -> 'tp'530 -> 'tq'531 -> 'tr'532 -> 'ts'
533 -> 'tt'534 -> 'tu'535 -> 'tv'536 -> 'tw'537 -> 'tx'538 -> 'ty'539 -> 'tz'
540 -> 't'541 -> 'ua'542 -> 'ub'543 -> 'uc'544 -> 'ud'545 -> 'ue'546 -> 'uf'
547 -> 'ug'548 -> 'uh'549 -> 'ui'550 -> 'uj'551 -> 'uk'552 -> 'ul'553 -> 'um'
554 -> 'un'555 -> 'uo'556 -> 'up'557 -> 'uq'558 -> 'ur'559 -> 'us'560 -> 'ut'
561 -> 'uu'562 -> 'uv'563 -> 'uw'564 -> 'ux'565 -> 'uy'566 -> 'uz'567 -> 'u'
568 -> 'va'569 -> 'vb'570 -> 'vc'571 -> 'vd'572 -> 've'573 -> 'vf'574 -> 'vg'
575 -> 'vh'576 -> 'vi'577 -> 'vj'578 -> 'vk'579 -> 'vl'580 -> 'vm'581 -> 'vn'
582 -> 'vo'583 -> 'vp'584 -> 'vq'585 -> 'vr'586 -> 'vs'587 -> 'vt'588 -> 'vu'
589 -> 'vv'590 -> 'vw'591 -> 'vx'592 -> 'vy'593 -> 'vz'594 -> 'v'595 -> 'wa'
596 -> 'wb'597 -> 'wc'598 -> 'wd'599 -> 'we'600 -> 'wf'601 -> 'wg'602 -> 'wh'
603 -> 'wi'604 -> 'wj'605 -> 'wk'606 -> 'wl'607 -> 'wm'608 -> 'wn'609 -> 'wo'
610 -> 'wp'611 -> 'wq'612 -> 'wr'613 -> 'ws'614 -> 'wt'615 -> 'wu'616 -> 'wv'
617 -> 'ww'618 -> 'wx'619 -> 'wy'620 -> 'wz'621 -> 'w'622 -> 'xa'623 -> 'xb'
624 -> 'xc'625 -> 'xd'626 -> 'xe'627 -> 'xf'628 -> 'xg'629 -> 'xh'630 -> 'xi'
631 -> 'xj'632 -> 'xk'633 -> 'xl'634 -> 'xm'635 -> 'xn'636 -> 'xo'637 -> 'xp'
638 -> 'xq'639 -> 'xr'640 -> 'xs'641 -> 'xt'642 -> 'xu'643 -> 'xv'644 -> 'xw'
645 -> 'xx'646 -> 'xy'647 -> 'xz'648 -> 'x'649 -> 'ya'650 -> 'yb'651 -> 'yc'
652 -> 'yd'653 -> 'ye'654 -> 'yf'655 -> 'yg'656 -> 'yh'657 -> 'yi'658 -> 'yj'
659 -> 'yk'660 -> 'yl'661 -> 'ym'662 -> 'yn'663 -> 'yo'664 -> 'yp'665 -> 'yq'
666 -> 'yr'667 -> 'ys'668 -> 'yt'669 -> 'yu'670 -> 'yv'671 -> 'yw'672 -> 'yx'
673 -> 'yy'674 -> 'yz'675 -> 'y'676 -> 'za'677 -> 'zb'678 -> 'zc'679 -> 'zd'
680 -> 'ze'681 -> 'zf'682 -> 'zg'683 -> 'zh'684 -> 'zi'685 -> 'zj'686 -> 'zk'
687 -> 'zl'688 -> 'zm'689 -> 'zn'690 -> 'zo'691 -> 'zp'692 -> 'zq'693 -> 'zr'
694 -> 'zs'695 -> 'zt'696 -> 'zu'697 -> 'zv'698 -> 'zw'699 -> 'zx'700 -> 'zy'
701 -> 'zz'702 -> 'z'703 -> ' '704 -> '0'705 -> '1'706 -> '2'707 -> '3'
708 -> '4'709 -> '5'710 -> '6'711 -> '7'712 -> '8'713 -> '9'714 -> ','
715 -> '.'716 -> ';'717 -> ':'718 -> '-'719 -> '_'720 -> '?'721 -> '!'
722 -> '+'723 -> '#'724 -> '*'



Signatur: Marcel Brätz 20090605 1.0

I: Quelle: Vorlesungsmaterial
I: Release v1.0 20090605: Erste Version




  © 2000-2015 - mbraetz-webprojects 0.105 sec, 983.5 kB, 1043.6 kB (limit: 120 sec)