Skip to content

Реализация ГОСТА 28147-89 на python

Notifications You must be signed in to change notification settings

RomanNoyanov/GOST_28147_89

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GOST_28147_89

Реализация ГОСТА 28147-89 (Магма) на python

Пример вывода в консоль

|_____ 1 РАУНД _____|
n2:     1000 0001 0100 0001 1000 0001 0100 0001
n1:     1000 0001 0100 0001 1000 0001 0100 0001
key:    0111 1111 0001 0101 0100 1100 1011 1010
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сумма (N1 + Key):  0000 0000 0101 0110 1100 1101 1111 1011
Сумма в десятичном виде (N1 + Key):    ['0', '0', '5', '6', '12', '13', '15', '11']
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
После перестановки в двоичном виде:    0111 0001 0011 0101 0011 1001 1111 0010
После перестановки по таблице:         [7, 1, 3, 5, 3, 9, 15, 2]
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сдвиг на 11:                              1010 1001 1100 1111 1001 0011 1000 1001
N2:                                       1000 0001 0100 0001 1000 0001 0100 0001
Сумма (Сдвиг N1 + N2):                    0010 1000 1000 1110 0001 0010 1100 1000
Сумма (Сдвиг N1 + N2) в десятичном виде:  ['2', '8', '8', '14', '1', '2', '12', '8']

<----- ПАРМЕТРЫ ДЛЯ СЛЕДУЮЩЕГО РАУНДА -----> 
N1: 0010 1000 1000 1110 0001 0010 1100 1000
Десятичный формат N1: ['2', '8', '8', '14', '1', '2', '12', '8']
N2: 1000 0001 0100 0001 1000 0001 0100 0001
Десятичный формат N2: ['8', '1', '4', '1', '8', '1', '4', '1']

|_____ 2 РАУНД _____|
n2:     1000 0001 0100 0001 1000 0001 0100 0001
n1:     0010 1000 1000 1110 0001 0010 1100 1000
key:    0011 1110 0101 0000 1001 0111 0101 0100
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сумма (N1 + Key):  0110 0110 1101 1110 1010 1010 0001 1100
Сумма в десятичном виде (N1 + Key):    ['6', '6', '13', '14', '10', '10', '1', '12']
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
После перестановки в двоичном виде:    1001 1100 1010 1100 0110 0011 0101 0001
После перестановки по таблице:         [9, 12, 10, 12, 6, 3, 5, 1]
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Сдвиг на 11:                              0110 0011 0001 1010 1000 1100 1110 0101
N2:                                       1000 0001 0100 0001 1000 0001 0100 0001
Сумма (Сдвиг N1 + N2):                    1110 0010 0101 1011 0000 1101 1010 0100
Сумма (Сдвиг N1 + N2) в десятичном виде:  ['14', '2', '5', '11', '0', '13', '10', '4']

<----- ПАРМЕТРЫ ДЛЯ СЛЕДУЮЩЕГО РАУНДА -----> 
N1: 1110 0010 0101 1011 0000 1101 1010 0100
Десятичный формат N1: ['14', '2', '5', '11', '0', '13', '10', '4']
N2: 0010 1000 1000 1110 0001 0010 1100 1000
Десятичный формат N2: ['2', '8', '8', '14', '1', '2', '12', '8']

About

Реализация ГОСТА 28147-89 на python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages