Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #перстановка бит (IP)
- a = [7,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,1,0,1,1,1]
- b = [7]
- rez = ""
- b.insert(1,a[58]);b.insert(2,a[50]);b.insert(3,a[42])
- b.insert(4,a[34]);b.insert(5,a[26]);b.insert(6,a[18])
- b.insert(7,a[10]);b.insert(8,a[2]);
- b.insert(9,a[60]);b.insert(10,a[52]);b.insert(11,a[44]);
- b.insert(12,a[36]);b.insert(13,a[28]);b.insert(14,a[20]);
- b.insert(15,a[12]);b.insert(16,a[4]);
- b.insert(17,a[62]);b.insert(18,a[54]) ;b.insert(19,a[46]);
- b.insert(20,a[38]);b.insert(21,a[30]);b.insert(22,a[22]);
- b.insert(23,a[14]);b.insert(24,a[6])
- b.insert(25,a[64]);b.insert(26,a[56]);b.insert(27,a[48])
- b.insert(28,a[40]);b.insert(29,a[32]);b.insert(30,a[24])
- b.insert(31,a[16]);b.insert(32,a[8]);
- b.insert(33,a[57]);b.insert(34,a[49]);b.insert(35,a[41]);
- b.insert(36,a[33]);b.insert(37,a[25]);b.insert(38,a[17]);
- b.insert(39,a[9]);b.insert(40,a[1]);
- b.insert(41,a[59]);b.insert(42,a[51]);b.insert(43,a[43]);
- b.insert(44,a[35]);b.insert(45,a[27]); b.insert(46,a[19]);
- b.insert(47,a[11]);b.insert(48,a[3]);
- b.insert(49,a[61]);b.insert(50,a[53]);b.insert(51,a[45]);
- b.insert(52,a[37]);b.insert(53,a[29]); b.insert(54,a[21]);
- b.insert(55,a[13]);b.insert(56,a[5]);
- b.insert(57,a[63]);b.insert(58,a[55]);b.insert(59,a[47]);
- b.insert(60,a[39]);b.insert(61,a[31]); b.insert(62,a[23]);
- b.insert(63,a[15]);b.insert(64,a[7]);
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #Перестановка PC-1
- a = [7,0,1,0,0,0,1,1,0,1,0,1,0,0,1,1,1,1,1,0,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,0,1,0,1,1,0,1]
- b = [7]
- rez = ""
- b.insert(1,a[57]);b.insert(2,a[49]);b.insert(3,a[41])
- b.insert(4,a[33]);b.insert(5,a[25]);b.insert(6,a[17])
- b.insert(7,a[9]);
- b.insert(8,a[1]);b.insert(9,a[58]);b.insert(10,a[50]);
- b.insert(11,a[42]);b.insert(12,a[34]);b.insert(13,a[26]);
- b.insert(14,a[18]);
- b.insert(15,a[10]);b.insert(16,a[2]);b.insert(17,a[59]);
- b.insert(18,a[51]);b.insert(19,a[43]);b.insert(20,a[35]);
- b.insert(21,a[27]);
- b.insert(22,a[19]);b.insert(23,a[11]);b.insert(24,a[3])
- b.insert(25,a[60]);b.insert(26,a[52]);b.insert(27,a[44])
- b.insert(28,a[36]);
- b.insert(29,a[63]);b.insert(30,a[55]);b.insert(31,a[47]);
- b.insert(32,a[39]);b.insert(33,a[31]);b.insert(34,a[23]);
- b.insert(35,a[15]);
- b.insert(36,a[7]);b.insert(37,a[62]);b.insert(38,a[54]);
- b.insert(39,a[46]);b.insert(40,a[38]); b.insert(41,a[30]);
- b.insert(42,a[22]);
- b.insert(43,a[14]);b.insert(44,a[6]);b.insert(45,a[61]);
- b.insert(46,a[53]);b.insert(47,a[45]);b.insert(48,a[37]);
- b.insert(49,a[29]);
- b.insert(50,a[21]);b.insert(51,a[13]);b.insert(52,a[5]);
- b.insert(53,a[28]);b.insert(54,a[20]);b.insert(55,a[12]);
- b.insert(56,a[4]);
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #Перестановка PC-2
- a = [7,1,1,0,0,0,1,0,1,0,1,1,1,0,0,0,0,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,1]
- b = [7]
- rez = ""
- b.insert(1,a[14]);b.insert(2,a[17]);b.insert(3,a[11])
- b.insert(4,a[24]);b.insert(5,a[1]);b.insert(6,a[5])
- b.insert(7,a[3]);b.insert(8,a[28]);b.insert(9,a[15])
- b.insert(10,a[6]);b.insert(11,a[21]);b.insert(12,a[10])
- b.insert(13,a[23]);b.insert(14,a[19]);b.insert(15,a[12])
- b.insert(16,a[4]);b.insert(17,a[26]);b.insert(18,a[8])
- b.insert(19,a[16]); b.insert(20,a[7]);b.insert(21,a[27])
- b.insert(22,a[20]);b.insert(23,a[13]);b.insert(24,a[2])
- b.insert(25,a[41]);b.insert(26,a[52]);b.insert(27,a[31])
- b.insert(28,a[37]);b.insert(29,a[47]);b.insert(30,a[55])
- b.insert(31,a[30]);b.insert(32,a[40]);b.insert(33,a[51])
- b.insert(34,a[45]);b.insert(35,a[33]);b.insert(36,a[48])
- b.insert(37,a[44]);b.insert(38,a[49]);b.insert(39,a[39])
- b.insert(40,a[56]); b.insert(41,a[34]);b.insert(42,a[53])
- b.insert(43,a[46]);b.insert(44,a[42]);b.insert(45,a[50])
- b.insert(46,a[36]); b.insert(47,a[29]);b.insert(48,a[32])
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #Расширение подблока R:
- a = [7,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,1,0,1,0,1,0,0,0,1,0,0]
- b = [7]
- rez = ""
- b.insert(1,a[32]);b.insert(2,a[1]);b.insert(3,a[2])
- b.insert(4,a[3]);b.insert(5,a[4]);b.insert(6,a[5])
- b.insert(7,a[4]);b.insert(8,a[5]);b.insert(9,a[6])
- b.insert(10,a[7]);b.insert(11,a[8]);b.insert(12,a[9])
- b.insert(13,a[8]);b.insert(14,a[9]);b.insert(15,a[10])
- b.insert(16,a[11]);b.insert(17,a[12]);b.insert(18,a[13])
- b.insert(19,a[12]); b.insert(20,a[13]);b.insert(21,a[14])
- b.insert(22,a[15]);b.insert(23,a[16]);b.insert(24,a[17])
- b.insert(25,a[16]);b.insert(26,a[17]);b.insert(27,a[18])
- b.insert(28,a[19]);b.insert(29,a[20]);b.insert(30,a[21])
- b.insert(31,a[20]);b.insert(32,a[21]);b.insert(33,a[22])
- b.insert(34,a[23]);b.insert(35,a[24]);b.insert(36,a[25])
- b.insert(37,a[24]);b.insert(38,a[25]);b.insert(39,a[26])
- b.insert(40,a[27]); b.insert(41,a[28]);b.insert(42,a[29])
- b.insert(43,a[28]);b.insert(44,a[29]);b.insert(45,a[30])
- b.insert(46,a[31]); b.insert(47,a[32]);b.insert(48,a[1])
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #P-перестановка
- a = [7,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,1,1,0]
- b = [7]
- rez = ""
- b.insert(1,a[16]);b.insert(2,a[7]);b.insert(3,a[20])
- b.insert(4,a[21]);b.insert(5,a[29]);b.insert(6,a[12])
- b.insert(7,a[28]);b.insert(8,a[17]);b.insert(9,a[1])
- b.insert(10,a[15]);b.insert(11,a[23]);b.insert(12,a[26])
- b.insert(13,a[5]);b.insert(14,a[18]);b.insert(15,a[31])
- b.insert(16,a[10]);b.insert(17,a[2]);b.insert(18,a[8])
- b.insert(19,a[24]); b.insert(20,a[14]);b.insert(21,a[32])
- b.insert(22,a[27]);b.insert(23,a[3]);b.insert(24,a[9])
- b.insert(25,a[19]);b.insert(26,a[13]);b.insert(27,a[30])
- b.insert(28,a[6]);b.insert(29,a[22]);b.insert(30,a[11])
- b.insert(31,a[4]);b.insert(32,a[25]);
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #Инверсная перестановка
- a = [7,1,0,1,0,1,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,1,1,1,0,0,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,1,0,1,1,0,0,0,0,1,1,0]
- b = [7]
- rez = ""
- b.insert(1,a[40]);b.insert(2,a[8]);b.insert(3,a[48])
- b.insert(4,a[16]);b.insert(5,a[56]);b.insert(6,a[24])
- b.insert(7,a[64]);b.insert(8,a[32]);b.insert(9,a[39])
- b.insert(10,a[7]);b.insert(11,a[47]);b.insert(12,a[15])
- b.insert(13,a[55]);b.insert(14,a[23]);b.insert(15,a[63])
- b.insert(16,a[31]);b.insert(17,a[38]);b.insert(18,a[6])
- b.insert(19,a[46]); b.insert(20,a[14]);b.insert(21,a[54])
- b.insert(22,a[22]);b.insert(23,a[62]);b.insert(24,a[30])
- b.insert(25,a[37]);b.insert(26,a[5]);b.insert(27,a[45])
- b.insert(28,a[13]);b.insert(29,a[53]);b.insert(30,a[21])
- b.insert(31,a[61]);b.insert(32,a[29]);b.insert(33,a[36])
- b.insert(34,a[4]);b.insert(35,a[44]);b.insert(36,a[12])
- b.insert(37,a[52]);b.insert(38,a[20]);b.insert(39,a[60])
- b.insert(40,a[28]); b.insert(41,a[35]);b.insert(42,a[3])
- b.insert(43,a[43]);b.insert(44,a[11]);b.insert(45,a[51])
- b.insert(46,a[19]); b.insert(47,a[59]);b.insert(48,a[27])
- b.insert(37,a[34]);b.insert(38,a[2]);b.insert(39,a[42])
- b.insert(40,a[10]); b.insert(41,a[50]);b.insert(42,a[18])
- b.insert(43,a[58]);b.insert(44,a[26]);b.insert(45,a[33])
- b.insert(46,a[1]); b.insert(47,a[41]);b.insert(48,a[9])
- b.insert(45,a[49]);b.insert(46,a[17]); b.insert(47,a[57]);
- b.insert(48,a[25])
- for i in range(len(b)):
- rez += str(b[i])
- print(rez)
- #XOR
- a = "10010101"
- b = "01000010"
- y = int(a,2)^int(b,2)
- print (bin(y)[2:].zfill(len(a)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement