Menü
ücretsiz
Kayıt
Ev  /  Eğitim/ Asimetrik şifreleme algoritmaları. Modern şifreleme algoritmaları Tüm şifreleme algoritmaları

Asimetrik şifreleme algoritmaları. Modern şifreleme algoritmaları Tüm şifreleme algoritmaları

Çeşitli şifreleme yöntemleri arasında aşağıdaki ana yöntemler ayırt edilebilir:

İkame veya ikame algoritmaları - kaynak metnin karakterleri, bu şifrenin anahtarı olacak önceden belirlenmiş bir şemaya göre başka (veya aynı) alfabenin karakterleriyle değiştirilir. Ayrı olarak, bu yöntem, son derece düşük şifreleme gücü nedeniyle modern kripto sistemlerinde pratik olarak kullanılmaz.

Permütasyon algoritmaları - orijinal metnin karakterleri, gizli anahtar olan belirli bir ilkeye göre değiştirilir. Permütasyon algoritmasının kendisi düşük kriptografik güce sahiptir, ancak birçok modern kriptosistemde bir öğe olarak yer alır.

Gama algoritmaları - kaynak metnin karakterleri, rastgele bir dizinin karakterlerine eklenir. En yaygın örnek, "username.rwl" dosyalarının şifrelenmesidir; Microsoft sistemi Windows 95, belirli bir kullanıcının ağ kaynakları için parolaları saklar (NT sunucularında oturum açmak için parolalar, İnternet'e çevirmeli erişim için parolalar, vb.). Bir kullanıcı Windows 95'te oturum açmak için parolasını girdiğinde, ağ parolalarını şifrelemek için kullanılan RC4 şifreleme algoritmasını kullanarak bir gama (her zaman aynı) üretir. Parola seçiminin basitliği, bu durumda Windows'un her zaman aynı gamı ​​tercih etmesinden kaynaklanmaktadır.

Bazı formüllere göre kaynak metnin karmaşık matematiksel dönüşümlerine dayanan algoritmalar. Birçoğu çözülmemiş matematik problemleri kullanır. Örneğin, internette yaygın olarak kullanılan RSA şifreleme algoritması, asal sayıların özelliklerine dayanmaktadır.

Kombine yöntemler. İki veya daha fazla yöntem kullanarak orijinal metnin sıralı şifrelemesi.

Şifreleme algoritmaları

Kriptografik veri koruma yöntemlerine daha yakından bakalım

1. Değiştirme (ikame) algoritmaları

2. Permütasyon algoritması

3. Gama algoritması

4. Karmaşık matematiksel dönüşümlere dayalı algoritmalar

5. Birleşik şifreleme yöntemleri

Algoritmalar 1-4 " saf formu"daha önce kullanıldı ve bugün neredeyse her şeye, hatta en zor programşifreleme. Ele alınan yöntemlerin her biri uygular kendi yolu bilgilerin kriptografik olarak korunması ve kendi avantajları ve dezavantajları vardır, ancak ortak noktaları en önemli karakteristik dayanıklılıktır. Bu, istatistiksel analizi orijinal metni ortaya çıkarabilecek minimum şifreli metin miktarı olarak anlaşılır. Böylece, şifrenin gücü ile, bir anahtar kullanılarak şifrelenen izin verilen maksimum bilgi miktarını belirlemek mümkündür. Belirli bir geliştirmede kullanmak üzere bir şifreleme algoritması seçerken, gücü belirleyici faktörlerden biridir.

Tüm modern şifreleme sistemleri, onları daha fazla açmanın bir yolu olmayacak şekilde tasarlanmıştır. etkili yol tüm anahtar alanı üzerinde kapsamlı arama yapmaktan, yani olası tüm anahtar değerlerin üzerinde. Bu tür şifrelerin gücünün, içlerinde kullanılan anahtarın boyutuna göre belirlendiği açıktır.

Yukarıda tartışılan şifreleme yöntemlerinin gücü hakkında tahminler vereceğim. Tek alfabetik ikame, kullanımı orijinal metnin tüm istatistiksel modellerini koruduğu için en az güvenli şifredir. Zaten 20-30 karakter uzunluğunda olan bu kalıplar, kural olarak kaynak metni açmanıza izin verecek şekilde tezahür eder. Bu nedenle, bu tür bir şifrelemenin yalnızca parolaları, kısa sinyal mesajlarını ve bireysel karakterleri kapatmak için uygun olduğu düşünülmektedir.

Basit bir polialfabetik ikamenin kararlılığı (benzer sistemlerden, Vigenere tablosuna göre ikame dikkate alınmıştır) 20n olarak tahmin edilmektedir, burada n, değiştirme için kullanılan farklı alfabelerin sayısıdır. Vigenere tablosunu kullanırken, farklı alfabelerin sayısı harf sayısına göre belirlenir. anahtar kelime. Polialfabetik ikamenin komplikasyonu, stabilitesini önemli ölçüde arttırır.

Oyun kararlılığı, gamın uzun dönemi tarafından benzersiz bir şekilde belirlenir. Şu anda, teorik olarak şifreli metnin gücünün de sonsuz olacağı sonsuz bir gamın kullanımı bir gerçeklik haline geliyor.

Gamlama ve karmaşık permütasyonların ve ikamelerin, büyük bilgi dizilerinin güvenilir bir şekilde kapatılması için en uygun olduğu not edilebilir.

Birleşik şifreleme yöntemlerini kullanırken, şifrenin gücü, tek tek yöntemlerin güçlerinin çarpımına eşittir. Bu nedenle, birleştirilmiş şifreleme, kriptografik kapatmanın en güvenli yöntemidir. Şu anda bilinen tüm şifreleme cihazlarının çalışmasının temeli olan bu yöntemdir.

DES algoritması 20 yıldan daha uzun bir süre önce onaylandı, ancak bu süre zarfında bilgisayarlar hesaplama hızında inanılmaz bir sıçrama yaptı ve artık tüm olası anahtar seçeneklerini kapsamlı bir şekilde sıralayarak bu algoritmayı kırmak o kadar da zor değil (ve DES yalnızca 8 kullanır) bayt), son zamanlarda tamamen imkansız görünüyordu.

GOST 28147-89, özel servisler tarafından geliştirilmiştir. Sovyetler Birliği ve DES'ten sadece 10 yaş daha genç; geliştirme sırasında, bu GOST'un hala geçerli olduğu bir güvenlik marjı dahil edildi.

Ele alınan şifre gücü değerleri potansiyel değerlerdir. Kullanım kurallarına sıkı sıkıya bağlı kalarak uygulanabilirler. kriptografik araçlar koruma. Bu kuralların başlıcaları şunlardır: anahtarları gizli tutmak, tekrardan kaçınmak (yani, aynı metin parçasını aynı anahtarları kullanarak yeniden şifrelemek) ve anahtarları oldukça sık değiştirmek.

Çözüm

Bu nedenle, bu çalışmada, şu anda en yaygın kriptografik bilgi koruma yöntemlerine ve bunların uygulanmasına yönelik yöntemlere genel bir bakış yapılmıştır. Spesifik sistemler için seçim, zayıf ve güçlü bir tür koruma. Genel olarak, bir veya başka bir koruma sisteminin makul seçimi, bazı verimlilik kriterlerine dayanmalıdır. Ne yazık ki, kriptografik sistemlerin etkinliğini değerlendirmek için uygun yöntemler henüz geliştirilmemiştir.

Bu tür bir verimlilik için en basit kriter, anahtarı ortaya çıkarma olasılığı veya anahtar kümesinin (M) kardinalitesidir. Özünde, bu kriptografik güçle aynıdır. Sayısal değerlendirmesi için, tüm anahtarların numaralandırılmasıyla şifrenin çözülmesinin karmaşıklığı da kullanılabilir. Ancak bu kriter, kriptosistemler için diğer önemli gereklilikleri dikkate almaz:

yapısının analizine dayalı olarak bilgilerin açıklanmasının veya anlamlı bir şekilde değiştirilmesinin imkansızlığı,

kullanılan güvenlik protokollerinin mükemmelliği,

kullanılan minimum anahtar bilgi miktarı,

minimum uygulama karmaşıklığı (makine operasyonlarının sayısında), maliyeti,

yüksek verim.

Bu nedenle, elbette, bu faktörleri hesaba katan bazı bütünleyici göstergelerin kullanılması arzu edilir. Ancak her durumda, seçilen kriptografik yöntemler seti hem kullanım kolaylığını, esnekliğini ve verimliliğini hem de sistemde dolaşan bilgi hırsızlarına karşı güvenilir korumayı birleştirmelidir.


pratik kısım:

1. Egzersiz.

1) Çalıştırarak X alanını doldurun

1.1 İlk değeri manuel olarak ayarlayın

1.2 Çalıştır Düzen->Doldur->

2) g = fonksiyonunun değer alanını doldurun

Şekil.1.1 - g (x) fonksiyonunun formülü

2.1) Fonksiyonların değerlerini hesaplayın

3) Grafik

3.1) İşlev g değerlerine sahip hücreleri seçin

3.2) Bir grafik yöneticisi seçin

Şekil.1.2 - Grafik Sihirbazı - Grafik

Sonraki -> Satır

Şekil.1.3 - Grafik Sihirbazı - eksen etiketi

X Ekseni Değerini Vurgulama

Enter'a basın (girin)

3.3) Adlandırma tabloları

3.4) Grafik formüllü hücreyi seçin

3.6) Sekmeyi seçin -> Izgara çizgileri, ayarlayın

X ara satırlar, Y Ana satırlar ->Sonraki

3.7) Fonksiyonun grafiğini mevcut sayfaya yerleştiriyoruz -> (Bitti)

4) Sonuç olarak elde ederiz (Şek.1.4)

Şekil.1.4 - g (x) fonksiyonunun grafiği

1.2.

1) Tablo alanlarında gelecekteki grafiklerin işlevlerini tanımlayın

Şekil.1.5 - Gelecekteki çizelgelerin işlevlerinin imzası

2) Çalıştırarak X alanını doldurun:

2.1 İlk değeri manuel olarak ayarlayın

2.2 Düzenle->Doldur->İlerlemeyi (sütunlarla, aritmetikle, adımla, limit değerle) x [-2;2]'de yürütün

3) y=2sin( x) - 3cos( x), z = cos²(2 x) - 2sin( x) fonksiyonlarının değerlerini hesaplayınız.


Şekil.1.6 - y(x) ve z(x) fonksiyonlarının formülleri

4) Çizdirme

4.1Y ve z İşlevlerinin değerlerine sahip hücreleri seçin

Grafik Sihirbazı Seçme

Şekil.1.7 - Grafik Sihirbazı - Grafik

X Ekseni Değerini Vurgulama

Enter'a basın (girin)

4.2) Adlandırma tabloları

4.3) Grafik formüllü hücreyi seçin

Enter (enter) tuşuna basın, ardından aynısını ikinci satır için yapın

4.5) Sekmeyi seçin -> Izgara çizgileri, ayarlayın

X ara satırlar, Y Ana satırlar ->Sonraki

4.6) Fonksiyonun grafiğini mevcut sayfaya yerleştiriyoruz -> (Bitti)

5) Sonuç olarak şunu elde ederiz (Şek.1.8)

Şekil 1.8 - y(x) ve z(x) fonksiyonlarının grafikleri

Görev 2.

"İK Departmanı" listesinin oluşturulması

Şekil.2.1 "İK Departmanı" listesi

· Sıralama

Şekil.2.2 - Alan adına göre sıralama

Sonuç olarak, elde ederiz (Şek.2.3)

Şekil.2.3 - Sıralanmış tablo "İK Departmanı"

·
Bir otomatik filtre kullanarak bilgi arayın (adı harfle başlayan erkekler hakkında bilgi alın) Mektup, soyadı - maaşlı "İvanoviç" Maaş);

Şekil.2.4 - Otomatik filtre

Gelişmiş filtreyi kullanarak bilgi arayın (departmandan bilgi bulun Departman1 yaşlı Yaş1 Ve Yaş2 ve bölümdeki kadınlar hakkında Departman2 yaşlı Yaş3);

1) Genişletilmiş filtre 1 için kriterleri girin

Sonuç olarak, elde ederiz (Şek.2.5)

Şekil.2.5 - Gelişmiş filtre 1

2) Gelişmiş filtre 2 için kriterleri girin.

Sonuç olarak, elde ederiz (Şekil 2.6)

Şekil.2.6 - Gelişmiş filtre 2

Özetleme (her departmandaki çalışanların sayısını ve ortalama yaşını belirleyin);

Şekil.2.7 - Sonuçlar

DMIN- İşlev Bir listedeki veya veritabanındaki bir kayıt alanındaki (sütun) verilen ölçütleri karşılayan en küçük sayıyı döndürür.

Şekil 2.8 - DMIN işlevini kullanarak listenin analizi

Görev 3.

İlişkili iki tablo oluşturun Oturum(şek.3.2) ve öğrenciler(şek.3.4)

Şekil.3.1- Tablo oluşturucu Oturum

Şekil.3.2- Tablo Oturum

Şekil.3.3 - Tablo oluşturucu öğrenciler


Şekil.3.4 - Tablo öğrenciler

1) Bir tablo kullanmak öğrenciler, 1-E-1, 1-E-2, 1-E-3 gruplarındaki öğrencilerin adlarının ve soyadlarının veri tabanından dönüşümlü olarak seçileceği üç sorgu oluşturun.

Şekil.3.5 - Sorgu Oluşturucu 1.1


Şekil.3.7 - Sorgu Oluşturucu 1.2

Şekil.3.9 - Sorgu Oluşturucu 1.3

2) Bir tablo kullanmak öğrenciler, kadınların soyadlarının ve adlarının veri tabanından dönüşümlü olarak seçileceği ve ardından erkeklerin soyadlarının ve adlarının seçileceği iki sorgu oluşturun.

Şekil.3.11 - Sorgu Oluşturucu 2.1

Şekil.3.13 - Sorgu Oluşturucu 2.2

3) Bir masa kullanıyorum öğrenciler, 1-E-2 grubundaki kadınların ve ardından 1-E-1 grubundaki erkeklerin soyadlarının ve adlarının veri tabanından dönüşümlü olarak seçileceği iki sorgu oluşturun.

Şekil.3.15 - Sorgu Oluşturucu 3.1

Şekil.3.17 - Yapıcı - 3.2

4) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, 1-E-2 grubu öğrencilerinin soyadlarının, adlarının, kredi numaralarının ve matematik notlarının veri tabanından seçileceği bir sorgu oluşturun.

Şekil.3.19 - Sorgu oluşturucu 5

5) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, 1-E-2 grubundaki öğrencilerin (erkeklerin) felsefe alanındaki soyadlarını, adlarını, kayıt numaralarını ve notlarını veritabanından seçecek bir sorgu oluşturun.

Fig.3.21 - Sorgu oluşturucu 8

6) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, felsefede "yeterli" (3) notu almış öğrencilerin soyadlarını, adlarını, kayıt numaralarını veri tabanından seçecek bir sorgu oluşturun.

Şekil.3.23 - Sorgu oluşturucu 10

7) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, felsefe ve matematik olmak üzere iki konuda aynı anda "iyi" (4) notu alan öğrencilerin soyadlarını, adlarını ve kayıt numaralarını veritabanından seçecek bir sorgu oluşturun.

Şekil.3.25 - Sorgu Oluşturucu 14

8) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, matematik veya bilgisayar bilimleri olmak üzere iki dersten birinde "yetersiz" (2) not alan öğrencilerin soyadlarını, adlarını ve kayıt numaralarını veritabanından seçecek bir sorgu oluşturun.

Şekil.3.27 - Sorgu Oluşturucu 18

9) Bağlantılı tabloları kullanma öğrenciler Ve Oturum, tüm konularda "iyi" (4) notu alan öğrencilerin soyadlarını, adlarını ve kayıt numaralarını veritabanından seçecek bir sorgu oluşturun.

Şekil.3.29 - Sorgu oluşturucu 22

10) Tablo kullanmak Oturum, adında bir sorgu oluştur Not ortalaması dört sınavı geçmenin sonuçlarına göre her öğrencinin ortalama puanını hesaplamak. İstek alanı içermelidir kayıt kitabı, daha sonra birden çok tabloyu bağlamak için kullanılacaktır.

Şekil.3.31 - Oturum tablosu oluşturucu

11) Bağlantılı tabloları kullanma öğrenciler, Oturum ve istek Not ortalaması, ortalama puanı 3.25 olan öğrenci gruplarının soyadları, adları, sicil numaraları, grup sayılarına göre veritabanından seçilecek bir sorgu oluşturun.

Şekil.3.33 - Sorgu Oluşturucu 25

12) Bağlantılı tabloları kullanma öğrenciler, Oturum ve istek Not ortalaması, veritabanından matematik notunu, ortalama puanı ve öğrenci Ivanov'un grup numarasını seçecek bir sorgu oluşturun.

Şekil.3.35 - Sorgu Oluşturucu 29

13) Bağlantılı tabloları kullanma öğrenciler, Oturum ve istek Not ortalaması, veritabanından ortalama puanı 3,75'ten az olan öğrencilerin soyadlarını ve adlarını seçecek bir sorgu oluşturun.

Şekil.3.37 - Sorgu Oluşturucu 33

14) Tablo kullanmak öğrenciler, soyadının Viktorovna olduğu biliniyorsa, öğrencinin soyadını, adını ve kayıt numarasını belirlemek için.

Şekil.3.39 - Sorgu oluşturucu 35

Görev 4.

Bir sayıyı ondalık sayı sisteminden farklı tabanlı bir sayı sistemine dönüştürmek için aşağıdakileri yapın:

a) Bir sayının tamsayı kısmını çevirmek için, tamamen sistemin tabanına bölünür ve kalan sabitlenir. Eksik bölüm sıfıra eşit değilse, tamamen bölmeye devam edin. Sıfıra eşitse, kalanlar ters sırada yazılır.

b) Sayının kesirli kısmını çevirmek için, elde edilen çarpımların tamsayı kısımlarını sabitlerken, sayı sisteminin tabanı ile çarpılır. Tamsayı parçaları daha fazla çarpma işlemine katılmaz. Çarpımın kesirli kısmında 0 elde edilene kadar veya belirtilen hesaplama doğruluğuna kadar çarpma işlemi yapılır.

c) Cevap, çevrilmiş tamsayı ile sayının çevrilmiş kesirli kısmının toplamı olarak yazılır.

49812,22₁₀ = 1100001010010100,001₂ 49812,22₁₀ = 141224,160₈

0,
0,

49812,22₁₀ = С294, 385₁₆

0,

Görev 5.

Tabanı farklı bir sayı sisteminden bir sayıyı ondalık sayı sistemine dönüştürmek için çevrilen sayının her bir katsayısı, bu katsayıya karşılık gelen ölçüde sistemin tabanı ile çarpılır ve sonuçlar toplanır.

A) 10101001.11001₂ = 1*2^7+1*2^5+1*2^3+1*2^0+1*2^(-1)+1*2^(-2)+1* 2 (-5)= 169,78125₁₀

İkiliden sekizliye dönüştürmek için, verilen ikili sayıyı ondalık noktanın sağında ve solunda bir üçlüye (üç basamaklı) bölmek ve her üçlüyü karşılık gelen sekizli kodla temsil etmek gerekir. Üçlülere bölmek mümkün değilse sayının tamsayı gösteriminde sola, kesirli kısmında sağa sıfır eklenmesine izin verilir. Ters çeviri için, bir sekizlik sayının her basamağı karşılık gelen ikili üçlü ile temsil edilir.

Tablo 5.1 - Sayıların çevirisi

Ondalık sayı sistemi İkili sayı sistemi Sekizli sayı sistemi Onaltılık sayı sistemi
Triadlar (0-7) Tetratlar (0-15)
A
B
C
D
e
F

B) 674,7₈ = 110111100,111₂=1*2^2+1*2^3+1*2^4+1*2^5+1*2^7+1*2^8+1*2^ (- 1) +1*2^(-2) +1*2^(-3)= 443,875₁₀

110 111 100. 111₂

C) EDF,51₁₆ = 111011011111.01010001₂=1*2^0+1*2^1+1*2^2+1*2^3+1*2^4+1*2^6+ +1*2 ^ 7+1*2^9+ +1*2^10+1*2^11+1*2^(-2) 1*2^(-4) 1*2^(-8)= 3807,31640625₁₀

1110 1101 1111 . 0101 0001₂

Görev 6.

İkili sistemde sayıların toplanması, tek basamaklı ikili sayıların toplama tablosuna dayanır.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
Çok basamaklı ikili sayıların eklenmesi, en önemsiz bitten en yüksek olana olası transferler dikkate alınarak bu tabloya göre yapılır. Sekizli sayı sisteminde, diğer herhangi bir konumsal sistemde olduğu gibi, sayıların toplanması için kendi kuralları vardır ve bunlar, eklenen iki sayıyla ilgili eşit sıralı rakamları toplama kurallarıyla temsil edilir. Bu kurallar Tablo 6.1'den görülebilir. Bu rakamın bazı basamaklarını toplarken görünen kısa çizgi "↶" sembolü ile gösterilir.
Tablo 6.1 - 8. sayı sisteminde toplama
+
↶0
↶0 ↶1
↶0 ↶1 ↶2
↶0 ↶1 ↶2 ↶3
↶0 ↶1 ↶2 ↶3 ↶4
↶0 ↶1 ↶2 ↶3 ↶4 ↶5
↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6

İki onaltılık sayının rakamlarını bu sayıların aynı hanelerine toplama kuralları Tablo 6.2'den görülebilir. Belirli bir basamağın bazı basamaklarını toplarken oluşan taşıma "↶" simgesiyle gösterilir.

6 8 5 , 3 2 2 Bir ₁₆ + 1 0 1 0 1 0 0 1 0 , 1 0 ₂ + 4 7 7 , 6₈

D A 4 8 5 , 4 4 6 0 ₁₆ 1 1 0 0 0 0 1 1 0 , 1 1 0 1 0₂6 5 1 , 5 6₈

D A B 0 A , 7 6 8 A₁₆ 1 0 1 1 0 1 1 0 0 1 , 0 1 0 1 0₂ 1 3 5 1 .3 6₈

Tablo 6.2 - 16. sayı sisteminde toplama

+ A B C D e F
A B C D e F
A B C D e F ↶0
A B C D e F ↶0 ↶1
A B C D e F ↶0 ↶1 ↶2
A B C D e F ↶0 ↶1 ↶2 ↶3
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7
A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8
A A B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9
B B C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A
C C D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B
D D e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C
e e F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D
F F ↶0 ↶1 ↶2 ↶3 ↶4 ↶5 ↶6 ↶7 ↶8 ↶9 ↶A ↶B ↶C ↶D ↶E

Görev 7.

Sekizli sayılar için toplama tablosunu kullanarak bunları çıkarabilirsiniz. İki sekizlik sayının farkını hesaplamak istensin. Tablonun ilk sütununda buluyoruz. 6.1 Çıkarılanın son rakamına karşılık gelen rakam ve onun satırında indirgenen rakamın son rakamını bulacağız - çıkarılan çizgi ile fark sütununun kesiştiği noktada bulunur. Böylece farkın son basamağını buluyoruz. Benzer şekilde, farkın her basamağı aranır.

a) _ 2 5 1 5 1 4 , 4 0₈

5 4 2 5 , 5 5

2 4 3 0 6 6 , 6 3₈

b) _1 0 1 1 0 1 1 0 0 0 , 1 0 0 0 0₂

1 0 1 0 0 1 0 0 1 , 1 0 0 1 1

1 0 1 1 0 0 1 0 0 1 1 , 0 0 0 0 1₂

c) _E 3 1 6 , 2 5 0₁₆

5 8 8 1 , F D C₁₆

8 bir 9 4 , 2 7 4

Görev 8.

İkili sistemde sayıların çarpımı, tek basamaklı ikili sayıların çarpım tablosuna dayanır.

0 0 = 0
0 1 = 0
1 0 = 0
1 1 = 1

Çok basamaklı ikili sayıların çarpımı şu şekilde gerçekleştirilir:
bu tabloya göre her zamanki gibi,
ondalık sistemde kullandığınız.

Kendi çarpım tablosu, zaten emin olma fırsatımız olduğu için, her konumsal sayı sisteminde mevcuttur. İkilide en küçüktür, sekizlide (Tablo 8.1) ve ondalık sistemde zaten daha kapsamlıdır. Ele aldığımız sayı sistemlerinden yaygın olarak kullanılan sayı sistemlerinden en büyüğü onaltılıktır (Tablo 8.2).

Sekme 8.1. – 8. sistemde çarpma

×

a) 1 0 1 0 0 1₂

* 1 1 1 0 1 1

1 0 1 0 0 1 .

1 0 0 1 0 1 1 1 0 0 1 1₂

b) 1 0 1 1 1 0 0₂

* 1 1 0 1 1

1 0 1 1 1 0 0 .

1 0 0 1 1 0 1 1 0 1 0 0₂

c) B C D , 5₁₆

*D5A₁₆

9 D 9 3 3 D 2₁₆


Tablo 8.2 - 16. sistemde çarpma

× A B C D e F
A B C D e F
A C e 1 A 1C 1E
C F 1B 1E 2A 2 boyutlu
C 1C 2C 3C
A F 1E 2 boyutlu 3C 4B
C 1E 2A 3C 5A
e 1C 2A 3F 4 boyutlu 5B
1B 2 boyutlu 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4 boyutlu 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1 A 5B 8F 9C A9 B6 C3
e e 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2 boyutlu 3C 4B 5A A5 B4 C3 D2 E1

Görev 9.

Doğrudan kod bilgisayar aritmetiğinde ikili sabit noktalı sayıları temsil etmenin bir yoludur. Doğrudan kodda bir sayı yazarken, en önemli basamak işaret basamağı. Değeri 0 ise sayı pozitif, 1 ise negatiftir.

Ters kod- doğal sayılar üzerinde yalnızca toplama işlemini kullanarak bir sayıyı diğerinden çıkarmanıza izin veren bir hesaplamalı matematik yöntemi. Pozitif bir sayı için bir sayı yazılırken, doğrudan kodla çakışır ve negatif bir sayı için, rakam hariç tüm rakamlar zıt olanlarla değiştirilir.

ek kod(İngilizce) Ikisinin tamamlayıcısı, Bazen Ikisinin tamamlayıcısı) bilgisayarlarda negatif tam sayıları temsil etmenin en yaygın yoludur. Çıkarma işlemini toplama işlemiyle değiştirmenize ve toplama ve çıkarma işlemlerini işaretli ve işaretsiz sayılar için aynı yapmanıza olanak tanır, bu da bilgisayar mimarisini basitleştirir. Pozitif bir sayı için sayı yazılırken direkt kod ile çakışır ve negatif bir sayı için ters kod elde edilip 1 eklenerek ek kod belirlenir.

Ek koddaki sayıların eklenmesi, işaret bitinde elde edilen 1 taşıma atılır ve ters kodda, kodların toplamının en önemsiz bitine eklenir.

Aritmetik işlemlerin sonucu negatif bir sayı kodu ise, doğrudan koda dönüştürülmelidir. Ters kod, zıt olanlarla işaret dışındaki tüm basamaklardaki basamakların doğrudan yer değiştirmesine dönüştürülür. İkisinin tamamlayıcı kodu, 1 eklenerek doğrudan dönüştürülür.

Doğrudan kod:

X=0,10111 1,11110

Y=1.11110 0,10111

Ters kod:

X=0,10111 0,10111

Y=1.00001 1,00001

1,11000 1,00111

ek kod:

X=0,10111 0,10111

Y=1.00010 1,00010

1,11001 1,00110

Doğrudan kod:

Ters kod:

X=0,110110 0,0110110

Y=0.101110 0,0101110

ek kod:

X=0,110110 0,0110110

Y=0.101110 0,0101110

Görev 10.

Mantık öğeleri

1. Mantıksal öğe, mantıksal olumsuzlama GERÇEKLEŞTİRMEZ. Bir girişi ve bir çıkışı vardır. Bir sinyalin (gerilim) olmaması "0" ile ve bir sinyalin varlığı "1" ile gösterilecektir. Çıkış sinyali her zaman giriş sinyalinin karşısındadır. Bu, çıkış sinyalinin girişe bağımlılığını gösteren doğruluk tablosundan görülebilir.

2. OR kapısı mantıksal bir toplama işlemi gerçekleştirir. Birden fazla girişi ve bir çıkışı vardır. En az bir girişte sinyal varsa çıkışta bir sinyal olacaktır.

Sembol doğruluk tablosu

3. AND geçidi mantıksal bir çarpma işlemi gerçekleştirir. Bu mantık elemanının çıkışındaki sinyal, yalnızca tüm girişlerde bir sinyal varsa olacaktır.

Geleneksel notasyon Doğruluk tablosu

F=(A v B) ʌ (C v D)

Tablo 10.1 - Doğruluk tablosu

A B C D A B C D (A'dan B'ye) (CvD) F=(A v B) ʌ (C v D)

AMantık cebirinde, mantıksal ifadelerin eşdeğer dönüşümlerine izin veren bir dizi yasa vardır. Bu yasaları yansıtan ilişkileri sunalım.

1. Çift olumsuzlama yasası: (A) = A

Çifte olumsuzlama, olumsuzlamayı dışlar.

2. Değişmeli (değişimli) yasa:

Mantıksal toplama için: A V B = B V A

Mantıksal çarpma için: A&B = B&A

İfadeler üzerindeki işlemin sonucu, bu ifadelerin alınma sırasına bağlı değildir.

3. Birleştirici (birleştirici) hukuk:

Mantıksal toplama için: (A v B) v C = A v (Bv C);

Mantıksal çarpma için: (A&B)&C = A&(B&C).

Aynı işaretlerle, parantezler keyfi olarak yerleştirilebilir ve hatta atlanabilir.

4. Dağıtım (dağıtım) yasası:

Mantıksal toplama için: (A v B)&C = (A&C)v(B&C);

Mantıksal çarpma için: (A&B) v C = (A v C)&(B v C).

Genel bir ifadeyi parantez içine alma kuralını tanımlar.

5. Genel tersine çevirme yasası (de Morgan yasaları):

Mantıksal toplama için: (Av B) = A & B;

Mantıksal çarpma için: (A&B) = A v B;

6. İktidarsızlık yasası

Mantıksal toplama için: A v A = A;

Mantıksal çarpma için: A&A = A.

Yasa, üs olmaması anlamına gelir.

7. Sabitlerin hariç tutulmasına ilişkin yasalar:

Mantıksal toplama için: A v 1 = 1, A v 0 = A;

Mantıksal çarpma için: A&1 = A, A&0 = 0.

8. Çelişki yasası: A&A = 0.

Çelişkili ifadelerin aynı anda doğru olması imkansızdır.

9. Ortanın dışlanması yasası: A v A = 1.

10. Emilim Yasası:

Mantıksal toplama için: A v (A&B) = A;

Mantıksal çarpma için: A&(A v B) = A.

11. Dışlama yasası (yapıştırma):

Mantıksal toplama için: (A&B) v (A &B) = B;

Mantıksal çarpma için: (A v B)&(A v B) = B.

12. Zıtlık yasası (ters çevirme kuralı):

(A v B) = (Bv A).

(A→B) = A&B

A&(Ort)= A&B

Bir formül, eşdeğerlik işaretleri, ima, çifte olumsuzlama içermiyorsa normal bir forma sahipken, olumsuzlama işaretleri yalnızca değişkenlerde bulunur.


Benzer bilgiler.


Veri şifreleme, gizliliği korumak için son derece önemlidir. Bu yazıda, günümüzde verileri korumak için kullanılan farklı şifreleme türlerinden ve yöntemlerinden bahsedeceğim.

Biliyor musun?
Roma döneminde Julius Caesar, mektupları ve mesajları düşman tarafından okunamaz hale getirmek için şifreleme kullandı. Özellikle savaşlar sırasında askeri bir taktik olarak önemli bir rol oynadı.

İnternetin olanakları artmaya devam ettikçe, giderek daha fazla işletmemiz çevrimiçi olarak işe alınmaktadır. Bunlar arasında en önemlileri, gizli veri ve bilgi alışverişini içeren İnternet bankacılığı, çevrimiçi ödeme, e-postalar, özel ve resmi mesaj alışverişi vb. Bu veriler yanlış ellere geçerse, yalnızca bireysel kullanıcıya değil, tüm çevrimiçi iş sistemine zarar verebilir.

Bunun olmasını önlemek için, kişisel verilerin iletimini korumak için bazı çevrimiçi güvenlik önlemleri alınmıştır. Bunların başında, kriptografi olarak bilinen verilerin şifrelenmesi ve şifresinin çözülmesi işlemleri yer alır. Günümüzde çoğu sistemde kullanılan üç ana şifreleme yöntemi vardır: karma, simetrik ve asimetrik şifreleme. İÇİNDE aşağıdaki satırlar, Bu şifreleme türlerinin her birini daha ayrıntılı olarak ele alacağım.

Şifreleme türleri

simetrik şifreleme

Simetrik şifrelemede, düz metin olarak bilinen normal okunabilir veriler, okunamaz hale gelecek şekilde kodlanır (şifrelenir). Bu veri karıştırma, bir anahtar kullanılarak yapılır. Veriler şifrelendikten sonra, güvenli bir şekilde alıcıya aktarılabilir. Alıcıda, şifrelenmiş verilerin kodu, kodlama için kullanılan aynı anahtar kullanılarak çözülür.

Böylece, anahtarın simetrik şifrelemenin en önemli parçası olduğu açıktır. Erişimi olan herkes özel verilerin şifresini çözebileceğinden, dışarıdan gizlenmelidir. Bu nedenle bu şifreleme türü "gizli anahtar" olarak da bilinir.

İÇİNDE modern sistemler ah, anahtar genellikle güçlü bir paroladan veya tamamen rastgele bir kaynaktan gelen bir veri dizisidir. Simetrik şifrelemeye beslenir yazılım, girişi güvenli hale getirmek için kullanır. Veri karıştırma, Veri Şifreleme Standardı (DES), Gelişmiş Şifreleme Standardı (AES) veya Uluslararası Veri Şifreleme Algoritması (IDEA) gibi simetrik bir şifreleme algoritması kullanılarak gerçekleştirilir.

Kısıtlamalar

Bu tür şifrelemedeki en zayıf halka, kimliği doğrulanmış kullanıcının hem saklanması hem de iletilmesi açısından anahtarın güvenliğidir. Bir bilgisayar korsanı bu anahtarı ele geçirebilirse, şifrelenmiş verilerin şifresini kolayca çözebilir ve şifrelemenin tüm noktasını yok edebilir.

Diğer bir dezavantaj, verileri işleyen yazılımın şifrelenmiş verilerle çalışamamasıdır. Bu nedenle, bu yazılımı kullanabilmek için öncelikle verilerin kodunun çözülmesi gerekir. Yazılımın güvenliği ihlal edilirse, saldırgan verileri kolayca alabilir.

Asimetrik şifreleme

Asimetrik şifreleme anahtarı, gönderilen mesajları şifrelemek için bir anahtar kullanması bakımından simetrik anahtara benzer şekilde çalışır. Ancak bu mesajın şifresini çözmek için aynı anahtarı kullanmak yerine tamamen farklı bir anahtar kullanır.

Şifreleme için kullanılan anahtar, tüm ağ kullanıcıları tarafından kullanılabilir. Bu nedenle "genel" anahtar olarak bilinir. Öte yandan, şifre çözme için kullanılan anahtar gizli tutulur ve kullanıcının kendisi tarafından özel olarak kullanılması amaçlanır. Bu nedenle, "özel" anahtar olarak bilinir. Asimetrik şifreleme, genel anahtar şifrelemesi olarak da bilinir.

Bu yöntemle mesajın şifresini çözmek için gerekli olan gizli anahtarın her seferinde iletilmesi gerekmediğinden ve genellikle sadece kullanıcı (alıcı) tarafından bilindiğinden, bir bilgisayar korsanının mesajın şifresini çözme olasılığı yüksektir. daha düşük.

Diffie-Hellman ve RSA, açık anahtarlı şifreleme kullanan algoritmalara örnektir.

Kısıtlamalar

Birçok bilgisayar korsanı, bu tür şifrelemeyi atlamak için bir saldırı biçimi olarak "ortadaki adam" kullanır. Asimetrik şifrelemede, size başka bir kişi veya hizmetle güvenli bir şekilde iletişim kurmak için kullanılan bir genel anahtar verilir. Ancak bilgisayar korsanları, sizi güvenli bir hatta olduğunuza inandırırken, kendileriyle iletişim kurmanız için sizi kandırmak için aldatma ağlarını kullanır.

Bu tür bilgisayar korsanlığını daha iyi anlamak için, etkileşim halindeki iki tarafı Sasha ve Natasha ile konuşmalarını dinleme niyetiyle bilgisayar korsanı Sergei'yi düşünün. İlk olarak Sasha, ağ üzerinden Natasha'ya yönelik bir mesaj göndererek genel anahtarını ister. Sergei bu mesajı yakalar ve kendisiyle ilişkili genel anahtarı alır ve onu şifrelemek ve iletmek için kullanır. yanlış mesaj, Natasha, Sasha'nınki yerine kendi genel anahtarını içeriyor.

Bu mesajın Sasha'dan geldiğini düşünen Natasha, şimdi onu Sergey'in genel anahtarıyla şifreler ve geri gönderir. Bu mesaj yine Sergey tarafından ele geçirildi, şifresi çözüldü, (istenirse) değiştirildi, Sasha'nın orijinal olarak gönderdiği genel anahtar kullanılarak tekrar şifrelendi ve Sasha'ya geri gönderildi.

Böylece, Sasha bu mesajı aldığında, bunun Natasha'dan geldiğine inandırıldı ve faul oyunundan habersiz olmaya devam ediyor.

karma

Karma tekniği, verilen verilerden karma olarak bilinen özel bir dizi oluşturmak için karma işlevi olarak bilinen bir algoritma kullanır. Bu karma aşağıdaki özelliklere sahiptir:

  • aynı veriler her zaman aynı hash'i üretir.
  • tek başına bir karmadan ham veri oluşturmak mümkün değildir.
  • Aynı hash'i denemek ve oluşturmak için farklı girdi kombinasyonlarını denemek pratik değildir.

Bu nedenle, karma oluşturma ile diğer iki veri şifreleme biçimi arasındaki temel fark, veriler bir kez şifrelendikten (karmalama) geçirildikten sonra, orijinal biçiminde geri alınamaz (şifresi çözülür). Bu gerçek, bir bilgisayar korsanı hash'i ele geçirse bile, mesajın içeriğinin şifresini çözemeyeceği için onun için yararsız olacağını garanti eder.

Message Digest 5 (MD5) ve Secure Hashing Algorithm (SHA), yaygın olarak kullanılan iki hashing algoritmasıdır.

Kısıtlamalar

Daha önce bahsedildiği gibi, belirli bir karmadan verilerin şifresini çözmek neredeyse imkansızdır. Ancak, bu yalnızca güçlü karma uygulanırsa geçerlidir. Karma tekniğinin zayıf uygulanması, yeterli kaynak kullanılması ve kaba kuvvet saldırıları durumunda, ısrarcı bir bilgisayar korsanı, hash ile eşleşen verileri bulabilir.

Şifreleme yöntemlerinin kombinasyonu

Yukarıda tartışıldığı gibi, bu üç şifreleme yönteminin her birinin bazı dezavantajları vardır. Ancak, bu yöntemlerin bir kombinasyonu kullanıldığında, güçlü ve yüksek verimli bir şifreleme sistemi oluştururlar.

Çoğu zaman, özel ve genel anahtar teknikleri birleştirilir ve birlikte kullanılır. Gizli anahtar yöntemi, hızlı şifre çözmeye izin verirken, açık anahtar yöntemi, gizli anahtarı iletmek için daha güvenli ve daha uygun bir yol sunar. Yöntemlerin bu kombinasyonu "dijital zarf" olarak bilinir. PGP e-posta şifreleme programı, "dijital zarf" tekniğini temel alır.

Karma, bir parolanın gücünü kontrol etmenin bir yolu olarak kullanım bulur. Sistem parolanın kendisi yerine parolanın özetini saklarsa daha güvenli olacaktır çünkü karma bir bilgisayar korsanının eline geçse bile anlayamaz (okuyamaz). Doğrulama sırasında, sistem gelen şifrenin karmasını kontrol edecek ve sonucun depolananla eşleşip eşleşmediğine bakacaktır. Bu nedenle, gerçek parola yalnızca değiştirilmesi veya doğrulanması gereken kısa anlarda görünür olacak ve bu da parolanın yanlış ellere geçme olasılığını büyük ölçüde azaltacaktır.

Karma, gizli bir anahtarla verilerin kimliğini doğrulamak için de kullanılır. Karma, veriler ve bu anahtar kullanılarak oluşturulur. Bu nedenle, yalnızca veriler ve karma görünür ve anahtarın kendisi iletilmez. Bu şekilde, verilerde veya hash'te değişiklik yapılırsa kolayca tespit edilebilir.

Sonuç olarak, bu teknikler, verileri güvenli kalmasını sağlayabilecek okunamaz bir biçime verimli bir şekilde kodlamak için kullanılabilir. Çoğu modern sistem, güvenliği artırmak için genellikle bu şifreleme yöntemlerinin bir kombinasyonunu ve güçlü bir algoritma uygulaması kullanır. Bu sistemler, güvenliğin yanı sıra, kullanıcının kimliğinin doğrulanması ve alınan verilerin tahrif edilmemesinin sağlanması gibi birçok ek fayda da sağlamaktadır.


Şifreleme, bilgilerin gizliliğini korumak için en yaygın kullanılan kriptografik yöntemdir, verileri yetkisiz erişime karşı korur. Başlamak için, kriptografik bilgi korumanın ana yöntemlerini göz önünde bulundurun. Bir kelimeyle, kriptografi- kullanarak bilgi güvenliği bilimi matematiksel yöntemler. Ayrıca kriptografiye zıt ve korunan bilgileri açma yöntemlerine ayrılmış bir bilim de vardır - kriptanaliz. Kriptografi ve kriptanalizin birleşimine denir. kriptoloji. Kriptografik yöntemler çeşitli şekillerde sınıflandırılabilir, ancak çoğu zaman karşılık gelen kriptografik algoritmalarda kullanılan anahtar sayısına bağlı olarak alt bölümlere ayrılırlar (bkz. Şekil 1):

  1. Anahtarsız, herhangi bir anahtar kullanmayan.
  2. Tek tuş - bazı ek anahtar parametreleri kullanırlar - genellikle bu bir gizli anahtardır.
  3. Hesaplamalarında iki anahtar kullanan iki anahtar: gizli ve genel.

Pirinç. 1. Kripto algoritmaları

Kriptografik yöntemlere genel bakış

Şifreleme, ana koruma yöntemidir; daha ayrıntılı olarak ele alacağız.

Diğer şifreleme yöntemleri hakkında birkaç söz söylemeye değer:

  1. Verilerin bütünlüğünü ve yazarlığını doğrulamak için bir elektronik imza kullanılır. Veri bütünlüğü, verilerin depolama veya iletim sırasında yanlışlıkla veya kasıtlı olarak değiştirilmediği anlamına gelir.
    Elektronik imza algoritmaları iki tür anahtar kullanır:
    • gizli anahtar, elektronik imzayı hesaplamak için kullanılır;
    • ortak anahtar bunu doğrulamak için kullanılır.
    Kriptografik olarak güçlü bir elektronik imza algoritması kullanıldığında ve gizli anahtarın uygun şekilde saklanması ve kullanılması durumunda (yani, anahtar sahibinden başkası tarafından kullanılamıyorsa), başka hiç kimse herhangi bir elektronik imzanın doğru elektronik imzasını hesaplayamaz. belge.
  2. Kimlik doğrulama, kullanıcının (veya uzak bilgisayar) gerçekten olduğunu iddia ettiği kişidir. En basit şema kimlik doğrulama paroladır - gizli bir öğe olarak, kullanıcı tarafından kontrol edilirken sunulan bir parola kullanır. Böyle bir programın, onu güçlendirmek için özel idari ve teknik önlemler uygulanmadığı takdirde zayıf olduğu kanıtlanmıştır. Ve şifreleme veya hashleme temelinde (aşağıya bakın), gerçekten güçlü kullanıcı kimlik doğrulama şemaları oluşturabilirsiniz.
  3. Kriptografik sağlama toplamanın çeşitli yöntemleri vardır:
    • anahtar ve anahtarsız karma;
    • taklit öneklerin hesaplanması;
    • mesaj kimlik doğrulama kodlarının kullanımı.
    Aslında, tüm bu yöntemler, gizli anahtar olsun ya da olmasın, isteğe bağlı boyuttaki verilerden çeşitli şekillerde, orijinal verilere benzersiz bir şekilde karşılık gelen sabit bir boyutta belirli bir sağlama toplamını hesaplar.
    Bu tür kriptografik sağlama toplamı, çeşitli bilgi güvenliği yöntemlerinde yaygın olarak kullanılmaktadır, örneğin:
    • elektronik imza kullanımının imkansız olduğu (örneğin, yüksek kaynak yoğunluğu nedeniyle) veya gereksiz olduğu durumlarda herhangi bir verinin bütünlüğünü doğrulamak;
    • elektronik imza şemalarının kendisinde, "imzalanan" verinin tamamı değil, genellikle verilerin karmasıdır;
    • çeşitli kullanıcı kimlik doğrulama şemalarında.
  4. Rastgele ve sözde rasgele sayı üreteçleri, özellikle kriptografide yaygın olarak kullanılan rasgele sayı dizileri oluşturmanıza olanak tanır:
    • ideal olarak tamamen rasgele olması gereken gizli anahtarlar oluşturmak için rasgele sayılara ihtiyaç vardır;
    • birçok elektronik imza algoritmasında rasgele sayılar kullanılır;
    • Rastgele sayılar birçok kimlik doğrulama şemasında kullanılır.
    Tamamen rasgele sayılar elde etmek her zaman mümkün değildir - bu, yüksek kaliteli donanım üreteçlerinin mevcudiyetini gerektirir. Bununla birlikte, simetrik şifreleme algoritmalarına dayalı olarak, yüksek kaliteli sözde rasgele sayı üreteçleri oluşturulabilir.
şifreleme

şifreleme bilgi, açık bilginin şifrelenmiş bilgiye dönüştürülmesidir (buna genellikle şifreli metin veya kriptogram) ve tersi. Bu sürecin ilk kısmı denir şifreleme, ikinci - şifre çözme.

Şifreleme aşağıdaki formülle temsil edilebilir:

С = E k1 (M),

Nerede:
M(mesaj) - açık bilgi,
İLE(şifreli metin) - şifreleme sonucunda elde edilen şifreli metin,
e(şifreleme) - üzerinde kriptografik dönüşümler gerçekleştiren bir şifreleme işlevi M,
k1(tuş) - işlev parametresi e, isminde anahtarşifreleme.

GOST 28147-89 standardında (standart, yerel simetrik şifreleme algoritmasını tanımlar), kavram anahtarşu şekilde tanımlanır: "Belirli bir algoritma için olası dönüşümler kümesinden bir dönüşümün seçilmesini sağlayan, bir kriptografik dönüştürme algoritmasının bazı parametrelerinin belirli bir gizli durumu."

Anahtar, belirli bir kullanıcıya veya kullanıcı grubuna ait olabilir ve onlar için benzersiz olabilir. Belirli bir anahtar kullanılarak şifrelenen bilgilerin şifresi ancak aynı anahtar veya belirli bir oranda onunla ilişkili bir anahtar kullanılarak çözülebilir.

Şifre çözme benzer bir şekilde sunulabilir:

M" = D k2 (C),

Nerede:
M"- şifre çözme sonucunda alınan mesaj,
D(şifre çözme) - şifre çözme işlevi; tıpkı şifreleme işlevi gibi, şifreli metin üzerinde kriptografik dönüşümler gerçekleştirir,
k2- şifre çözme anahtarı.

Şifre çözme sonucunda doğru düz metni elde etmek için (yani daha önce şifrelenmiş olan: M "= M), aşağıdaki koşullar aynı anda karşılanmalıdır:

  1. Şifre çözme işlevi, şifreleme işleviyle eşleşmelidir.
  2. Şifre çözme anahtarı, şifreleme anahtarıyla eşleşmelidir.

Doğru anahtarın yokluğunda k2 orijinal mesajı al M" = M doğru fonksiyon ile D imkansız. Bu durumda "imkansız" kelimesi genellikle mevcut bilgi işlem kaynaklarıyla gerçek zamanlı olarak bilgi işlemin imkansızlığı anlamına gelir.

Şifreleme algoritmaları iki kategoriye ayrılabilir (bkz. Şekil 1):

  1. Simetrik şifreleme algoritmaları.
  2. Asimetrik şifreleme algoritmaları.

algoritmalarda simetrik şifrelemeşifre çözme genellikle şifreleme ile aynı anahtarı veya basit bir ilişkiyle onunla ilişkili bir anahtarı kullanır. İkincisi, özellikle modern şifreleme algoritmalarında çok daha az yaygındır. Böyle bir anahtar (şifreleme ve şifre çözme için ortaktır) genellikle basitçe şifreleme anahtarı.

İÇİNDE asimetrik şifrelemeşifreleme anahtarı k1 anahtardan kolayca hesaplanır k2 ters hesaplama mümkün olmayacak şekilde. Örneğin, temel ilişki şöyle olabilir:

k1 = bir k2 mod p,

a ve p, yeterince büyük bir boyuta sahip olan şifreleme algoritmasının parametreleridir.

Bu anahtar oranı elektronik imza algoritmalarında da kullanılmaktadır.

Şifreleme algoritmasının temel özelliği, şifreleme gücü, ifşaya karşı direncini kriptanaliz yöntemleriyle belirler. Genellikle bu özellik, şifrenin açıklanması için gerekli zaman aralığı ile belirlenir.

Simetrik şifreleme, şifrelenmiş bilgileri iletirken, bilgilerin şifresini çözmek için alıcının önceden bir anahtar almasına ihtiyaç duyması nedeniyle daha az kullanışlıdır. Asimetrik şifrelemede bu sorun yoktur (genel anahtar ağ üzerinden serbestçe aktarılabildiği için), ancak kendi sorunları vardır, özellikle açık anahtar ikamesi ve yavaş şifreleme hızı sorunu. Çoğu zaman, asimetrik şifreleme, verilerin büyük kısmını şifreleyen simetrik şifreleme anahtarını aktarmak için simetrik şifreleme ile birlikte kullanılır. Bununla birlikte, anahtar saklama ve aktarma şemaları ayrı bir makalenin konusudur. Burada simetrik şifrelemenin asimetrik şifrelemeden çok daha sık kullanıldığını iddia edeceğim, bu nedenle makalenin geri kalanı yalnızca simetrik şifrelemeye ayrılacak.

İki tür simetrik şifreleme vardır:

  • Blok şifreleme- bilgi, sabit uzunlukta bloklara bölünür (örneğin, 64 veya 128 bit), ardından bu bloklar birer birer şifrelenir. Ayrıca, farklı şifreleme algoritmalarında veya hatta aynı algoritmanın farklı çalışma modlarında, bloklar birbirinden bağımsız olarak veya "birleştirme ile" şifrelenebilir - mevcut veri bloğunun şifrelenmesinin sonucu önceki bloğun değerine bağlı olduğunda veya önceki bloğun şifrelenmesi sonucunda.
  • Akış Şifrelemesi- her şeyden önce, bilgilerin bloklara bölünemediği durumlarda gereklidir - örneğin, her karakteri şifrelenmesi ve bir yere gönderilmesi gereken belirli bir veri akışı, verilerin geri kalanının bir blok oluşturmak için yeterli olmasını beklemeden . Bu nedenle, akış şifreleme algoritmaları verileri bit bit veya karakter karakter şifreler. Bazı sınıflandırmaların blok ve akış şifrelemeyi ayırmadığını söylemeye değer olsa da, akış şifrelemenin birim uzunluktaki blokların şifrelemesi olduğu düşünülürse.

Blok simetrik şifreleme algoritmalarının içeriden nasıl göründüğünü düşünün.Şifreleme algoritmalarının yapısı

Modern şifreleme algoritmalarının büyük çoğunluğu çok benzer bir şekilde çalışır: şifrelenmiş metin üzerinde, belirli sayıda (tur) tekrarlanan şifreleme anahtarının katılımıyla belirli bir dönüşüm gerçekleştirilir. Aynı zamanda, tekrarlanan dönüşümün türüne göre, şifreleme algoritmaları genellikle birkaç kategoriye ayrılır. Burada çeşitli tasnifler de var, bunlardan birini vereceğim. Dolayısıyla, yapılarına göre şifreleme algoritmaları aşağıdaki gibi sınıflandırılır:

  1. Feistel ağına dayalı algoritmalar.

    Feistel ağı, işlenmiş veri bloğunu, biri bir işlev tarafından işlenen birkaç alt bloğa (çoğunlukla ikiye) bölmeyi içerir. F() ve bir veya daha fazla başka alt blok üzerine bindirilmiş. Şek. Şekil 2, Feistel ağına dayalı algoritmaların en yaygın yapısını göstermektedir.

    Pirinç. 2. Feistel ağına dayalı algoritmaların yapısı.

    Ek işlev bağımsız değişkeni F(), Şek. 2 olarak Ki, denir yuvarlak anahtar. Yuvarlak anahtar, görevi gerekli sayıda anahtarı elde etmek olan anahtar genişletme prosedürüyle şifreleme anahtarının işlenmesinin sonucudur. Ki nispeten küçük bir boyuttaki ilk şifreleme anahtarından (şu anda, bir simetrik şifreleme anahtarı için 128 bitlik bir boyut yeterli kabul edilmektedir). En basit durumlarda, anahtar genişletme prosedürü, anahtarı sırayla şifreleme turlarında kullanılan birkaç parçaya böler; çok daha sıklıkla, anahtar genişletme prosedürü oldukça karmaşıktır ve anahtarlar Ki orijinal şifreleme anahtarının çoğu bitinin değerlerine bağlıdır.

    İşlenmiş alt bloğun ham olanın üzerine bindirilmesi, çoğunlukla "özel veya" - XOR mantıksal işlemi kullanılarak gerçekleştirilir (Şekil 2'de gösterildiği gibi). Oldukça sık olarak, burada XOR yerine modulo toplaması kullanılır. 2n, Nerede N- bit cinsinden alt blok boyutu. Çakışmadan sonra, alt bloklar değiştirilir, yani algoritmanın bir sonraki turunda, başka bir veri alt bloğu işlenir.

    Şifreleme algoritmalarının bu yapısı, adını Lucifer şifreleme algoritmasının geliştiricilerinden biri olan Horst Feistel'den ve eski (ancak hala yaygın olarak kullanılan) ABD şifreleme standardı temelinde geliştirilen DES (Veri Şifreleme Standardı) algoritmasından almıştır. Bu algoritmaların her ikisi de Şekil 1'de gösterilene benzer bir yapıya sahiptir. 2. Feistel ağına dayalı diğer algoritmalar arasında, yerli şifreleme standardı GOST 28147-89'un yanı sıra diğer iyi bilinen algoritmalar örnek olarak gösterilebilir: RC5, Blowfish, TEA, CAST-128, vb.

    Çoğu modern şifreleme algoritması, Feistel ağına dayanmaktadır - böyle bir yapının birçok avantajı nedeniyle, aralarında aşağıdakiler dikkate değerdir:

    • Feistel ağına dayalı algoritmalar, şifreleme ve şifre çözme için aynı algoritma kodunun kullanılabileceği şekilde tasarlanabilir - bu işlemler arasındaki fark yalnızca Ki anahtarlarının uygulanma sırasından oluşabilir; algoritmanın bu özelliği, en çok donanımda veya sınırlı kaynaklara sahip platformlarda uygulandığında kullanışlıdır; GOST 28147-89, böyle bir algoritmaya örnek olarak gösterilebilir.
  2. Feistel ağına dayalı algoritmalar en çok çalışılanlardır - bu tür algoritmalar, büyük miktar hem algoritmanın geliştirilmesinde hem de analizinde şüphesiz bir avantaj olan kriptanalitik araştırma.

    Feistel ağının daha karmaşık bir yapısı da vardır, bunun bir örneği Şekil 1'de gösterilmiştir. 3.

    Pirinç. 3. Feistel ağının yapısı.

    Böyle bir yapı denir genelleştirilmiş veya uzatılmış Feistel ağı ve geleneksel Feistel ağından çok daha az kullanılır. Böyle bir Feistel ağının bir örneği, RC6 algoritmasıdır.

  3. Algoritmalar tabanlı permütasyon ağları (SP ağı- İkame-permütasyon ağı).

    Feistel ağının aksine, SP ağları şifreli bloğun tamamını tek turda işler. Veri işleme, esas olarak değiştirmelere indirgenir (örneğin, giriş değerinin bir parçası, anahtarın değerine bağlı olabilecek değiştirme tablosuna göre başka bir parça ile değiştirildiğinde) Ki) ve anahtara bağlı olarak permütasyonlar Ki(basitleştirilmiş bir diyagram Şekil 4'te gösterilmektedir).

    Pirinç. 4. Permütasyon-permütasyon ağı.

    Bununla birlikte, bu tür işlemler diğer şifreleme algoritmalarının da karakteristiğidir, bu nedenle bence "permütasyon-permütasyon ağı" adı oldukça keyfidir.

    SP ağları, Feistel ağlarından çok daha az yaygındır; Serpent veya SAFER+ algoritmaları SP ağlarına örnek olarak gösterilebilir.

  4. Yapılandırılmış Algoritmalar "kare"(Kare).

    "Kare" yapı, şifrelenmiş veri bloğunun iki boyutlu bir bayt dizisi biçiminde temsil edilmesiyle karakterize edilir. Şifreleme dönüşümleri, bir dizinin satırları veya sütunlarının yanı sıra tek tek baytları üzerinde gerçekleştirilebilir.

    Algoritmanın yapısı adını, açık bir yarışmayı kazandıktan sonra ABD'nin yeni şifreleme standardı AES haline gelen Rijndael algoritmasının gelecekteki yazarları Vincent Rijmen ve Joan Daemen tarafından 1996 yılında geliştirilen Square algoritmasından alıyor. Rijndael algoritması da Kare benzeri bir yapıya sahiptir; diğer örnekler, Shark algoritmaları (Ridgeman ve Damen tarafından daha önceki bir geliştirme) ve Crypton'dur. "Kare" yapılı algoritmaların dezavantajı, Rijndael algoritmasının yeni ABD standardı olmasını engellemeyen bilgi eksikliğidir.

    Pirinç. 5. Rijndael algoritması.

    Şek. Şekil 5, Rijndael algoritması tarafından gerçekleştirilen bir veri bloğu üzerindeki işlemin bir örneğini göstermektedir.

  5. Standart olmayan bir yapıya sahip algoritmalar, yani listelenen türlerin hiçbirine atfedilemeyen algoritmalar. Yaratıcılığın sınırsız olabileceği açıktır, bu nedenle şifreleme algoritmalarının tüm olası varyantlarını sınıflandırmak zordur. Standart olmayan bir yapıya sahip bir algoritma örneği olarak, yapısında benzersiz olan ve her turunda iki baytlık şifrelenmiş verinin oldukça karmaşık kurallara göre değiştirildiği FROG algoritmasını gösterebiliriz (bkz. Şekil 6).

    Pirinç. 6. İki bayt şifrelenmiş verinin değiştirilmesi.

    Yukarıda açıklanan yapılar arasındaki katı sınırlar tanımlanmamıştır, bu nedenle, çoğu zaman çeşitli uzmanlar tarafından farklı yapı türleri olarak sınıflandırılan algoritmalar vardır. Örneğin, CAST-256 algoritması, yazarı tarafından SP ağına aittir ve birçok uzman tarafından genişletilmiş Feistel ağı olarak adlandırılır. Başka bir örnek, yazarı tarafından Feistel ağı olarak adlandırılan, ancak uzmanlar tarafından standart olmayan bir yapıya sahip algoritmalara atıfta bulunulan HPC algoritmasıdır.

Rusya'daki devlet şifreleme standardı, GOST 28147-89 olarak kayıtlı algoritmadır. Bu bir blok şifredir, yani tek tek karakterleri değil, 64 bitlik blokları şifreler. Algoritma, 256 bitlik bir anahtarla 32 veri dönüştürme döngüsü sağlar, bu nedenle çok güvenilirdir (yüksek kriptografik güce sahiptir). Modern bilgisayarlarda, bu şifreyi kaba kuvvet saldırısıyla kırmak en az yüzlerce yıl alacak ve bu tür bir saldırıyı anlamsız kılacaktır. Amerika Birleşik Devletleri benzer bir AES blok şifresi kullanıyor.

RSA algoritması internette popülerdir ve adını yazarlarının adlarının baş harflerinden alır - R.Rivest, A.Shamir ve L.Adleman. Bu, gücü asal sayıların özelliklerinin kullanımına dayanan bir açık anahtar algoritmasıdır. Bunu kırmak için çok büyük bir sayıyı asal çarpanlara ayırmanız gerekir. Bu sorun artık yalnızca seçeneklerin sıralanmasıyla çözülebilir. Seçeneklerin sayısı çok fazla olduğundan, modern bilgisayarların şifreyi çözmesi uzun yıllar alır.

Algoritmayı uygulamak içinRSA, genel ve özel anahtarları aşağıdaki gibi oluşturmak için gereklidir.

1. İki büyük asal sayı seçin, p ve q.
2. Çarpımlarını n = p * q ve f = (p - 1) (q - 1) değerini bulun
3. e sayısını seçin (1< e < k), которое не имеет общих делителей с f.
4. Bir k tamsayısı için d e = k f + 1 koşulunu sağlayan bir d sayısı bulun.
5. Değer çifti (e, n) RSA genel anahtarıdır (serbestçe yayınlanabilir) ve değer çifti (d, n) özel anahtardır..

İletilen mesaj önce 0 ila n - 1 aralığında bir sayı dizisi olarak temsil edilmelidir. Şifreleme için, x'in orijinal mesajın numarası olduğu y \u003d x e mod n formülü kullanılır, (e, n ) ortak anahtardır, y kodlanmış mesajın numarasıdır ve x e mod n notasyonu x'in n'ye bölümünden kalanı belirtir. Mesajın şifresi x = y d mod n formülü kullanılarak çözülür.
Bu, herkesin bir mesajı şifreleyebileceği (ortak anahtar genel olarak bilinir) ve yalnızca d gizli üssünü bilenlerin okuyabileceği anlamına gelir.
Daha iyi anlaşılması için basit bir örnekle RSA algoritmasının işleyişini göstereceğiz.
ÖRNEK: p = 3 ve q = 7'yi alın, sonra n = p q = 21 ve f = (p - 1) (q - 1) = 12'yi buluruz. e = 5'i seçeriz, sonra eşitlik d e = kf + 1, örneğin d = 17 (ve k = 7) için geçerlidir. Böylece açık anahtarı (5, 21) ve gizli anahtarı (17, 21) elde etmiş oluyoruz.

Ortak anahtarı (5.21) kullanarak "123" mesajını şifreleyelim. biz alırız

1 1 5 modu 21 = 1 ,
2 2 5 mod21 = 11 ,

3 → 3 5 mod 21 = 12,
yani şifreli mesaj sayılardan oluşur 1 ,11 ve 12. Gizli anahtarı (17, 21) bilerek şifresini çözebiliriz:

1 → 1 17 mod 21 = 1 ,

11 → 11 17 mod 21 = 2 ,
12 → 12 17 mod 21 = 3 .

Orijinal mesajı aldık.

Elbette, şifreleme ve şifre çözme sırasında, bölümün kalanını çok iyi hesaplamanız gerektiğini fark ettiniz. büyük sayılar(örneğin, 12 17) tarafından n. Bu durumda 12 17 sayısının kendisinin bulunmasına gerek olmadığı ortaya çıktı. Sıradan bir tamsayı değişkenine, örneğin x'e bir birim yazıp ardından x = 12*x mod 21 dönüşümünü 17 kez yapmak yeterlidir.Bundan sonra, x değişkeni 12 17 mod 21 = 3 değerini alacaktır. Bu algoritmanın doğruluğunu kanıtlamak için.
Mesajın şifresini çözmek için gizli üssü d bilmeniz gerekir. Bunun için de p ve q faktörlerini bulmanız gerekir, öyle ki n = p q. n büyükse, bu çok zor bir problemdir ve modern bir bilgisayarda kapsamlı bir seçenek araştırması yaparak çözmek yüzlerce yıl alacaktır. 2009 yılında bir grup bilim insanı, Farklı ülkeler yüzlerce bilgisayar üzerinde aylarca yaptığı hesaplamalar sonucunda RSA algoritması ile şifrelenmiş bir mesajı 768 bitlik bir anahtarla çözmeyi başardı. Bu nedenle, uzunluğu 1024 bit veya daha fazla olan anahtarlar artık güvenilir kabul edilmektedir. Çalışan bir tane inşa edilirse kuantum bilgisayar, RSA algoritmasının kırılması çok kısa sürede mümkün olacaktır.
Simetrik şifreler kullanılırken her zaman bir sorun ortaya çıkar: iletişim kanalı güvenilir değilse anahtar nasıl aktarılır? Sonuçta, anahtarı alan düşman, diğer tüm mesajların şifresini çözebilecek. RSA algoritması için bu sorun yoktur, tarafların herkese gösterilebilecek açık anahtarları değiş tokuş etmesi yeterlidir.
RSA algoritmasının başka bir avantajı daha vardır: mesajları dijital olarak imzalamak için kullanılabilir. Belgelerin yazarlığını kanıtlamaya, mesajları sahteciliğe ve kasıtlı değişikliklere karşı korumaya hizmet eder.

Dijital imza, gönderenin kişisel gizli kodu kullanılarak bir mesajın şifrelenmesiyle elde edilen bir dizi karakterdir.

Gönderen, orijinal mesajla birlikte kendi özel anahtarıyla (bu dijital imzadır) şifrelenmiş aynı mesajı gönderebilir. Alıcı, ortak anahtarı kullanarak dijital imzanın şifresini çözer. Şifrelenmemiş bir mesajla eşleşirse, bilen kişi tarafından gönderildiğinden emin olabilirsiniz. gizli kod. İleti aktarım sırasında değiştirilmişse, şifresi çözülmüş dijital imzayla eşleşmeyecektir. Mesaj çok uzun olabileceğinden, iletilen veri miktarını azaltmak için çoğu zaman mesajın tamamı değil, yalnızca karma kodu şifrelenir.
Birçok modern program, verileri bir parola ile şifreleme yeteneğine sahiptir. Örneğin, ofis takımları openoffice.org Ve Microsoft Office her şeyi şifrelemene izin ver oluşturulan belgeler(görüntülemek ve / veya değiştirmek için bir şifre girmeniz gerekir). Bir arşiv oluştururken (örneğin, arşivleyicilerde 7Zip, WinRAR, WinZip) ayrıca dosyaları ayıklamanın imkansız olduğu bir şifre de belirleyebilirsiniz.
En basit görevlerde, dosyaları şifrelemek için kullanabilirsiniz. ücretsiz program kriptograf(http://www.familytree.ru/ru/cipher.htm), sürümleri linux Ve pencereler. Programlar TnieCrypt(http://www.truecrypt.org/), BestCrypt(www.jetico.com) ve ÜcretsizOTFE(freeotfe.org), bilgileri şifrelenmiş olan mantıksal kapsayıcı diskler oluşturur. Ücretsiz yazılım DiskKripto r (diskcryptor.net), sabit sürücü bölümlerini şifrelemenize ve hatta şifrelenmiş flash sürücüler ve CD/DVD'ler oluşturmanıza olanak tanır.
programı GnuPG(gnupg.org) da özgür bir yazılımdır. Simetrik ve asimetrik şifrelerin yanı sıra çeşitli dijital imza algoritmalarını destekler.

steganografi

Youtube videosu

Mesaj gönderirken, yalnızca şifreleme kullanamazsınız, aynı zamanda mesaj gönderme gerçeğini de gizleyebilirsiniz.


Steganografi, bilgi aktarımı gerçeğini gizleyerek gizli bilgi aktarımı bilimidir.

Örneğin, eski Yunan tarihçisi Herodotus böyle bir yöntemi tarif etti: Bir kölenin traşlı kafasına bir mesaj yazıldı ve saçları uzadığında alıcıya gitti, o da kafasını kazıdı ve mesajı okudu.
Klasik steganografi yöntemi, yalnızca belirli koşullar altında (ısı, aydınlatma, kimyasal geliştirici) ortaya çıkan sempatik (görünmez) mürekkeptir. Örneğin sütle yazılmış bir metin ısıtıldığında okunabilir.
Artık steganografi, gerekli mesajları programlı bir şekilde "enjekte ederek" metin, grafik, ses ve video dosyalarındaki bilgileri gizlemekle meşgul.
en basit yol- görüntünün kodlandığı dosyanın düşük bitlerini değiştirin. Üstelik bu, orijinal ile ortaya çıkan çizimler arasındaki fark bir kişi tarafından algılanamayacak şekilde yapılmalıdır. Örneğin, siyah beyaz bir resimde (256 gri ton) varsa, her pikselin parlaklığı 8 bit olarak kodlanmıştır. Bu kodun en önemsiz 1-2 bitini değiştirirseniz, oraya bir metin mesajı "gömerek", net sınırları olmayan bir fotoğraf neredeyse hiç değişmez. 1 biti değiştirirken, orijinal metin mesajının her bir baytı, 8 piksel kodunun en önemsiz bitlerinde saklanır. Örneğin bir resmin ilk 8 pikselinin aşağıdaki kodlara sahip olduğunu varsayalım:

10101101

10010100

00101010

01010010

10101010

10101010

10101011

10101111

İçlerindeki “I” (110010002) harfinin kodunu kodlamak için kodların alt bitlerini değiştirmeniz gerekir:

1010110 1

1001010 1

0010101 0

0101001 0

1010101 1

1010101 0

1010101 0

1010111 0

Alıcının bu alt bitleri alması ve bunları bir bayta "birleştirmesi" gerekir.
Sesler için, kayda 1 ve 0'ı gösteren ve algılanmayan kısa koşullu sinyallerin eklenmesine dayanan diğer steganografi yöntemleri kullanılır.
alınmış

kulaktan kulağa bir kişi. Bir ses parçasını diğeriyle değiştirmek de mümkündür.
Dijital filigranlar, resimler, video ve ses dosyaları için yazarlık ve telif hakkı korumasını doğrulamak için kullanılır - dosyaya gömülü yazar hakkında bilgiler. İsimlerini para ve belgeler üzerindeki eski filigranlardan aldılar. Bir fotoğrafın yazarlığını belirlemek için filigran kullanılarak kaydedilen gizli bilgilerin deşifre edilmesi yeterlidir.
Bazen dijital filigranlar görünür hale getirilir (bir fotoğrafta veya bir videonun her karesinde metin veya şirket logosu). Dijital fotoğraf satan birçok site, önizleme fotoğraflarında görünür filigranlara sahiptir.


Kontrol soruları:
  1. Rusya'da devlet standardı olarak hangi şifreleme algoritması benimsenmiştir?
  2. Blok şifreleme algoritması nedir?
  3. RSA ne tür bir algoritmadır? Kriptografik gücü neye dayanıyor?
  4. Dijital imza nedir?
  5. RSA algoritması dijital imza için nasıl kullanılabilir?
  6. steganografi nedir?
  7. Bilgisayarların icadından önce hangi steganografi yöntemleri vardı?
  8. Kodlanmış bir görüntüye nasıl metin ekleyebilirim?
  9. Ses ve görüntü verileri için steganografi yöntemleri nelerdir?
  10. Dijital filigran nedir? Neden kullanılıyorlar?

Egzersiz yapmak:

1. Ders materyalini görüntüleyin ve kontrol sorularını yanıtlayın.
2. Bağlantıları takip edin ve dosyaları şifrelemek için kullanılan programlarla tanışın.
3. Herhangi bir belgeyi herhangi bir şekilde şifreleyin Ofis takımları openoffice.org veya Microsoft Office ve bana gönder .