Yazan : Mehmet Salih Çelik

Bu algoritma, bir kaç olayla ilgilidir. Yazılımda kullanılması için tasarlanmıştır. Safer gizli anahtarlı yöntemlerden biridir. DES’ den hatta İDEA dan farklı olarak, bloğu diğer parçaları etkileyen bazı parçalara bölmez; Onun yerine, şifresiz metin doğrudan, şifre çözümü için tersleriyle yer değiştirilen S-kutuları yoluyla değiştirilir.

SAFER ‘ın Açıklaması

SAFER sekiz dizin kullanır. Dizin için ilk adım, bloğun sekiz baytına dizin için ilk alt anahtarı uygulamaktır. Kullanılan bayta bağlı olarak bloğun her bir baytına uygulanan alt anahtar içindeki işlem sıralaması şu şekildedir;

XOR,add, add, XOR, XOR, add, add, XOR

Sonra S- kutusu kullanılır. Düzenli S- kutuları boyunca geçen XOR ile alt anahtarın uygulandığı bu baytlar; ters S-kutusu boyunca gittiği eklerin uyguladığı baytlardır.

S-Kutuları:

Düzenli kutu, art arda gelen güçler modulu-257’e yükseltilmiş 45’i temsil eder. (Modulu-257’le, sonuç modulu-256 alınarak bir bayt içinde sıkıştırılır. ):

  1  45 226 147 190  69  21 174
120   3 135 164 184  56 207  63
  8 103   9 148 235  38 168 107
189  24  52  27 187 191 114 247
 64  53  72 156  81  47  59  85
227 192 159 216 211 243 141 177
255 167  62 220 134 119 215 166
 17 251 244 186 146 145 100 131
241  51 239 218  44 181 178  43
136 209 153 203 140 132  29  20
129 151 113 202  95 163 139  87
 60 130 196  82  92  28 232 160
  4 180 133  74 246  19  84 182
223  12  26 142 222 224  57 252
 32 155  36  78 169 152 158 171
242  96 208 108 234 250 199 217
  0 212  31 110  67 188 236  83
137 254 122  93  73 201  50 194
249 154 248 109  22 219  89 150
 68 233 205 230  70  66 143  10
193 204 185 101 176 210 198 172
 30  65  98  41  46  14 116  80
  2  90 195  37 123 138  42  91
240   6  13  71 111 112 157 126
 16 206  18  39 213  76  79 214
121  48 104  54 117 125 228 237
128 106 144  55 162  94 118 170
197 127  61 175 165 229  25  97
253  77 124 183  11 238 173  75
 34 245 231 115  35  33 200   5
225 102 221 179  88 105  99  86
 15 161  49 149  23   7  58  40

İkinci S-kutusu ilkinin tersi olduğundan dolayı, 45 modulu-257 logaritma temeli içerdiği düşünülebilir, verilen ayrı logaritma probleminin dikliğine rağmen direk olarak hesaplanamaz, Ama onun yerine sadece önceki olanının tersidir;

128 0 176 9 96 239 185 253

16 18 159 228 105 186 173 248

192 56 194 101 79 6 148 252

25 222 106 27 93 78 168 130

112 237 232 236 114 179 21 195

255 171 182 71 68 1 172 37

201 250 142 65 26 33 203 211

13 110 254 38 88 218 50 15

32 169 157 132 152 5 156 187

34 140 99 231 197 225 115 198

175 36 91 135 102 39 247 87

244 150 177 183 92 139 213 84

121 223 170 246 62 163 241 17

202 245 209 23 123 147 131 188

189 82 30 235 174 204 214 53

8 200 138 180 226 205 191 217

208 80 89 63 77 98 52 10

72 136 181 86 76 46 107 158

210 61 60 3 19 251 151 81

117 74 145 113 35 190 118 42

95 249 212 85 11 220 55 49

22 116 215 119 167 230 7 219

164 47 70 243 97 69 103 227

12 162 59 28 133 24 4 29

41 160 143 178 90 216 166 126

238 141 83 75 161 154 193 14

122 73 165 44 129 196 199 54

43 127 67 149 51 242 108 104

109 240 2 40 206 221 155 234

94 153 124 20 134 207 229 66

184 64 120 45 58 233 100 31

146 144 125 57 111 224 137 48

Sonra dizin için ikinci alt anahtar bloğa uygulanır, Bu sefer, çalışmaların sırası önceden kullanılanı tamamlar;

add, XOR, XOR, add, add, XOR, XOR, add

Sonra, farklı baytlar, bit değişimi kullanılmadan bir arada karıştırılır. Bunun yerine aritmetik kullanılır.

İlk eski bayt ikinci eski baytla beraber, İlk bayt iki kez değiştirilir. İkinci bayt, eski ilk bayt tarafından ikinci baytla beraber değiştirilir. Tabii sadece toplamların son sek-biti tutulur.

Baytı birleştirmenin benzer metodu, üçüncü ve dördüncü bayta, beşinci ve altıncı bayta, ve yedinci ve sekizinci bayta uygulanır. Sonra baytların yerleri değiştirilir; her bir bayt daha önce ne olduğuna göre, değiş tokuştan sonra baytlar

1 3 5 7 2 4 6 8 olur.

Karıştırma baytların çiftlerine yeniden uygulanır ve sonra değiş tokuş ve sonra karıştırma yapılır.

Sekizinci dizinden sonra fazla alt anahtar her bir dizinin ilk alt anahtarı olarak aynı yolla uygulanır.

Takip eden diyagram SAFER’ın dizisini resimler:

Kod Çözme (Decryption)

Diğer çoğu blok algoritmalarından farklı olarak, kullanılan alt anahtarlarının bazı alternatifleri ile sadece benzer sonuca ulaşma olasılığı olmadan, SAFER her adımın tersini yaparak sondan başa doğru ters çevrilir.

Baytların çiftleri karıştırma metodunun tersi şöyledir; eski ilk baytı alır, yeni ilk bayttan yeni ikinci baytı çıkarır.

Eski ikinci bayt eski ilk bayttan eksik yeni ikinci bayttır, yeni ilk bayttan eksik yeni ikinci baytla aynıdır.

Alt Anahtar Üretimi

SAFER’ın orijinal uyarlamasında, ilk 64-bit alt anahtar kendi içinde anahtardı.
Art arda gelen alt anahtarı oluşturmak için, anahtarın bireysel baytları, dizilerin arasında 3 bitin dairesel sola kayması olarak verildi ve güncel sonuç, her dizin için sabitlenmiş bir değişmezle XORed’dir.

Bu değişmezler şunlardır;

(ilk alt anahtar için,0)

16733B1E8E70BD86

477E2456F1778846

B1BAA3B7100AC537

C95A28AC64A5ECAB

C66795580DF89AF6

66DC053DD38AC3D8

6AE9364943BFEBD4

9B68A0655D57921F

715CBB22C1BE7BBC

63945F2A61B83432

FDFB1740E6511D41

8F29DD0480DEE731

7F01A2F739DA6F23

FE3AD01CD1303E12

CD0FE0A8AF82592C

7DADB2EFC287CE75

1302904F2E723385

8DCFA981E2C4272F

7A9F52E115382BFC

42C708E409555E8C

İlk olarak 10 dizinden yukarısı için yeterli olacak kadar bir kaç değişmez verilir. Başlangıçta, altı dizin SAFER için önerilir, fakat bu 8’e arttırılır. Değişmezler matematiğe göre türetilir.

SAFER SK

SAFER’ın yeni versiyonu, SAFER SK, daha emniyetli bir anahtar programı içermektedir.

64-bit anahtarı, bütün önceki baytların XOR’si olan bir bayt tarafından genişletilir. Baytın iptal edildiği ilk alt anahtarı oluşturmak için; anahtarın kullanılacağı ikincisi için, onun yerine genişletilen anahtarın dokuz baytın ikinci baytıyla başlayan sekiz baytı alır; ikinci için üçüncüyle başlayan ve sonra dokuzuncu ilke döner ve böyle devam eder.

SAFER SK-40

Genişletilmiş anahtarla başlayan dokuz baytla 40 bit anahtarı olan 1 ile 5 baytla SAFER-SK’in 40-bit uyarlaması da vardır
ve kalan baytların yaşamı, sırası ile;

byte 1 xor byte 3 xor 129

byte 1 xor byte 4 xor byte 5 xor 66

byte 2 xor byte 3 xor byte 5 xor 36

byte 2 xor byte 4 xor 24

SAFER-128, SAFER SK-128

SAFER ve SAFER-SK her ikisi için 128-bit anahtar programı, anahtarın sağ yarısından sırayla üretilen ilk alt anahtar ve diğer tek alt anahtarın ve anahtarın sol yarısından sırayla üretilen ikinci ve diğer çift alt anahtarların
kullanılmasına dayanır.

Kaynak

http://www.quadibloc.com/crypto/co040301.htm

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir