1 / 16

Batôžkov algoritmus

Batôžkov algoritmus. Jakub J anek. Batôžkov algoritmus. Navrhnut ý v roku 1978 ( Merkle a Hellman ) Jeden z prvých šifrovacích systémov s verejným kľúčom Asymetrický kryptosystém , s dvoma kľúčmi .

chiara
Télécharger la présentation

Batôžkov algoritmus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Batôžkov algoritmus Jakub Janek

  2. Batôžkov algoritmus • Navrhnutý v roku 1978 (Merkle a Hellman) • Jeden z prvých šifrovacích systémov s verejným kľúčom • Asymetrický kryptosystém, s dvoma kľúčmi. • verejný kľúč sa používa pre šifrovanie a súkromný (superrastúca postupnosť) pre dešifrovanie • Nepoužiteľný pre digitálny podpis

  3. Batôžkov problém: • Majme množinu predmetov, každý o určitej hmotnosti. Našou úlohou je z množiny predmetov vybrať taký súbor, aby batoh mal po naplnení predpísanú hmotnosť. S = b1M1 + b2M2 + ... + bnMa M - daná množina hodnôt S - súčet b - množina koeficientov

  4. Príklad • Pomocou batôžkovho algoritmu zašifrujte a následne dešifrujte slovo ahoj ak máme zadané: • a : 01100001 • h : 01101000 • o : 01101111 • j : 01101010 • m=263 • n=31

  5. Vygenerovanie verejného klúča: Postup: • Vygenerovanie ľahkého batohu (KD) • Určiť modul m • Určiť násobiteľa n • Vygenerovanie ťažkého batohu (KE)

  6. Vygenerovanie verejného klúča: • KE=KDi*nmod m • KE1=1*31 mod 263 = 31 • KE2=2*31 mod 263 = 62 • KE3=4*31 mod 263 = 124 • KE4=8*31 mod 263 = 248 • KE5=16*31 mod 263 = 233 • KE6=32*31 mod 263 = 203 • KE7=64*31 mod 263 = 143 • KE8=128*31 mod 263 = 23

  7. Šifrovanie: Postup: • Otvorený text (P) v binárnej podobe • P rozdelíme na bloky • Sčítame prvky batohu • Súčty tvoria zašifrovaný text (C) Vzorec: S = b1M1 + b2M2 + ... + bnMa

  8. Šifrovanie:

  9. Určenie inverzného prvku n-1: Postup: • Potrebujeme m, n • Hľadáme pomocou rozšíreného Euklidovho algoritmu Vzorce: n.n-1 ≡ 1mod m n.n-1 -1 = k.m 1 = n.n-1- k.m

  10. Určenie inverzného prvku n-1: • 1=31-2*15 • 1=31-2*(263-8*31) • 1=31+16*31-2*263 • 1=31*17-2*263 • n-1=17

  11. Dešifrovanie: Postup: • Potrebujeme: C, KD, m, n-1 • Prevedieme operáciu pre výpočet P • Prevedenie P do binárnej sústavy Vzorec: Ci . n -1mod m = Pi

  12. Dešifrovanie: • m=263 • n-1=17 • P1=209*17 mod 263 = 134 =>0*1+1*2+1*4+0*8+0*16+0*32+0*64+1*128 = 01100001 = a • P2=419*17 mod 263 = 22 =>0*1+1*2+1*4+0*8+1*16+0*32+0*64+0*128 = 01101000 = h • P3=788*17 mod 263 = 246 =>0*1+1*2+1*4+0*8+1*16+1*32+1*64+1*128 = 01101111 = o • P4=562*17 mod 263 = 86 =>0*1+1*2+1*4+0*8+1*16+0*32+1*64+0*128 = 01101010 = j

  13. Bezpečnosť • Patent vypršal 19.4.1997 • Algoritmus bol prelomený (Shamir a Rivest) a dnes sa už nepovažuje za bezpečný

  14. Zdroje • Zdroje: • PŘIBYL, J.,KODL.J.: Ochrana dat v informatice, ČVUT 1996 • http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Merkle-Hellman.html • http://www.neerajkumar.net/blog/2012/11/21/merkle-hellman-knapsack-cryptosystem/

  15. Ďakujem za pozornosť

More Related