ГОСТ 28147-89 криптоалгоритмида 8 та S-блоклар қўлланилади, S-блоклар махфий ва бу алгоритмдаги ягона чизиқли бўлмаган акслантиришдир. Бу S-блокларнинг кириш ва чиқиш битлари тўртга тенг бўлиб, нолдан ўн бешгача бўлган сонлар қатнашади. Масалан, биринчи S-блок қуйидагича бўлиши мумкин: - ГОСТ 28147-89 криптоалгоритмида 8 та S-блоклар қўлланилади, S-блоклар махфий ва бу алгоритмдаги ягона чизиқли бўлмаган акслантиришдир. Бу S-блокларнинг кириш ва чиқиш битлари тўртга тенг бўлиб, нолдан ўн бешгача бўлган сонлар қатнашади. Масалан, биринчи S-блок қуйидагича бўлиши мумкин:
- Биринчи S-блокка кирувчи қиймат 4 га тенг бўлса, S-блокдан чиқувчи қиймат 7 га тенг. 4 ва 7 сонлари орасида чизиқли боғланиш мавжуд эмас.
Россия федерацияси Марказий Банкида фойдаланилган S блоклар қуйидагича: - Россия федерацияси Марказий Банкида фойдаланилган S блоклар қуйидагича:
- К[256]=01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF [16-лик саноқ сис.]
| - К[1-8]= 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF
| - К[9-16]= 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF
| - К[17-24]= 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF
| - K[25-32]= 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567 89ABCDEF 01234567
| - M = ABCDEF9876543210= {1010 1011 1100 1101 1110 1111 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000}
| - L0 = 1010 1011 1100 1101 1110 1111 1001 1000 = ABCDEF9816
| - R0 = 0111 0110 0101 0100 0011 0010 0001 0000 = 198522932810 = 7654321016
| - K1 = 0000 0001 0010 0011 0100 0101 0110 0111 = 1908874310 = 0123456716
| - 232= 429496729610=10000000016;
| - (L0+K1)mod232 = (L0+K1)mod4294967296 = 200431807110=7777777716;
| - 0111(7) 0111(7) 0111(7) 0111(7) 0111(7) 0111(7) 0111(7) 0111(7)
| - 14(1110) 10(1010) 2(0010) 15(1111) 8(1000) 13(1101) 9(1001) 4(0100)
| - 1110 1010 0010 1111 1000 1101 1001 0100
| - 11 бит циклик чапга чуриш:
- F = 0111 1100 0110 1100 1010 01110 1010 001
| - L0= 1010 1011 1100 1101 1110 1111 1001 1000
| | - F = 0111 1100 0110 1100 1010 0111 0101 0001
| | - 1101 0111 1010 0001 0100 1000 1100 1001
| - R1=1101 0111 1010 0001 0100 1000 1100 1001
| - L1= R0 = 0111 0110 0101 0100 0011 0010 0001 0000
| Blowfish алгоритми Б. Шнайер томонидан ишлаб чиқилган бўлиб, 1993 йилда эълон қилинган. - Blowfish алгоритми Б. Шнайер томонидан ишлаб чиқилган бўлиб, 1993 йилда эълон қилинган.
- Blowfish алгоритмида блок узунлиги 64 бит, раундлар сони 16. Калит узунлиги 32-448 битгача бўлиши мумкин.
- Бу алгоритм Фейстел тармоғига асосланган бўлиб, блоки узунлиги 64 битга, раундлар сони 16 га ва раунд калитлари узунлиги эса 32 битга тенг. Blowfish шифрлаш алгоритми i-раунди қуйидаги функционал схемада келтирилган:
Кирувчи параметр: - Кирувчи параметр:
- дастлабки калит 32 ва ундан ортиқ.
- Pi сонининг каср қисмини иккиликдаги кўриниши = 3.1415927... - 3.0
- = 2/16 + 4*/16**2 + 3/16**3 + 15/16**4 + ... = 0x243f6a8885a308d313198a2e03707344... (8366=18*8+256*4*8)
- Чиқувчи параметр:
- P1, P2, ..., P18: 18 та 32-битли қисм калитлар
- S1[], S2[], S3[], S4[]: 4 S-бокслар, 32-битли 256-та элементдан иборат
Do'stlaringiz bilan baham: |