• Veri şifreleme türleri. Şifreleme

    Veri şifreleme gizliliği korumak açısından son derece önemlidir. Bu yazımda bunlardan bahsedeceğim çeşitli türler ve günümüzde verileri korumak için kullanılan şifreleme yöntemleri.

    Biliyor musun?
    Roma döneminde şifreleme, Julius Caesar tarafından mektupların ve mesajların düşman tarafından okunamaz hale getirilmesi için kullanılıyordu. Oynandı önemli rolözellikle savaşlar sırasında askeri bir taktik olarak.

    İnternetin yetenekleri büyümeye devam ettikçe, giderek daha fazla işimiz çevrimiçi olarak yürütülüyor. Bunların arasında en önemlileri internet bankacılığı, online ödeme, e-postalar gizli veri ve bilgi alışverişini içeren özel ve resmi mesaj alışverişi vb. Bu veriler yanlış ellere geçerse yalnızca zarara yol açmakla kalmaz, bireysel kullanıcı, ama aynı zamanda hepsi çevrimiçi sistem işletme.

    Bunun olmasını önlemek için kişisel verilerin aktarımını korumak amacıyla çeşitli ağ güvenliği önlemleri alınmıştır. Bunların başında kriptografi olarak bilinen verinin şifrelenmesi ve şifresinin çözülmesi işlemleri gelir. Günümüzde çoğu sistemde kullanılan üç ana şifreleme yöntemi vardır: karma, simetrik ve asimetrik şifreleme. İlerleyen satırlarda bu şifreleme türlerinin her birinden daha detaylı bahsedeceğim.

    Şifreleme türleri

    Simetrik şifreleme

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

    Dolayısıyla anahtarın simetrik şifrelemenin en önemli parçası olduğu açıktır. Erişimi olan herkes özel verilerin şifresini çözebileceğinden, yabancılardan gizlenmelidir. Bu tür şifrelemenin "gizli anahtar" olarak da bilinmesinin nedeni budur.

    Modern sistemlerde anahtar genellikle güçlü bir paroladan veya tamamen rastgele bir kaynaktan türetilen bir veri dizisidir. Simetrik şifrelemeyle beslenir yazılım, giriş verilerini şifrelemek 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

    En çok zayıf bağlantı Bu tür şifrelemede, anahtarın hem saklanması hem de kimliği doğrulanmış kullanıcıya iletilmesi açısından güvenliği sağlanır. Eğer bir bilgisayar korsanı bu anahtarı ele geçirebilirse, şifrelenmiş verinin şifresini kolaylıkla çözebilir ve şifrelemenin tüm amacını boşa çıkarabilir.

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

    Asimetrik şifreleme

    Asimetrik anahtar şifrelemesi, iletilen mesajları şifrelemek için bir anahtar kullanması açısı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.

    Kodlama 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 kendisinin özel kullanımına yöneliktir. Bu nedenle "özel" anahtar olarak bilinir. Asimetrik şifreleme aynı zamanda genel anahtar şifrelemesi olarak da bilinir.

    Bu yöntemle mesajın şifresini çözmek için gereken gizli anahtarın her zaman iletilmesi gerekmediğinden ve genellikle yalnızca kullanıcı (alıcı) tarafından bilindiğinden, bir bilgisayar korsanının mesajın şifresini çözebilme olasılığı çok yüksektir. daha düşük.

    Diffie-Hellman ve RSA, genel anahtar şifrelemesini kullanan algoritma örnekleridir.

    Kısıtlamalar

    Pek çok bilgisayar korsanı, bu tür şifrelemeyi atlatmak için ortadaki adamı bir saldırı biçimi olarak kullanır. Asimetrik şifrelemede, size başka bir kişi veya hizmetle güvenli bir şekilde veri alışverişinde bulunmak için kullanılan bir ortak anahtar verilir. Ancak bilgisayar korsanları, siz güvenli bir hatta olduğunuza inandırılırken sizi kendileriyle iletişim kurmanız için kandırmak için ağ aldatmacasını kullanır.

    Bu tür bilgisayar korsanlığını daha iyi anlamak için, etkileşim halindeki iki tarafı, Sasha ve Natasha'yı ve konuşmalarını kesmek isteyen bir bilgisayar korsanı olan Sergei'yi düşünün. İlk olarak Sasha, ağ üzerinden Natasha'ya yönelik bir mesaj göndererek onun genel anahtarını ister. Sergei bu mesajı yakalar ve kendisiyle ilişkili genel anahtarı alır ve bunu şifrelemek ve Natasha'ya, Sasha'nın yerine kendi genel anahtarını içeren sahte bir mesaj göndermek için kullanır.

    Bu mesajın Sasha'dan geldiğini düşünen Natasha, şimdi onu Sergei'nin ortak anahtarıyla şifreleyip geri gönderir. Bu mesaj Sergei tarafından tekrar 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 mesajın Natasha'dan geldiğine inandırılır ve kötü bir oyundan habersiz kalır.

    karma

    Karma tekniği, verilen verilerden karma olarak bilinen özel bir dize 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ı karmayı üretir.
    • Yalnızca karmadan ham veri üretmek mümkün değildir.
    • Aynı hash'i üretmeye çalışmak için farklı girdi kombinasyonlarını denemek pratik değildir.

    Bu nedenle, hashing ile diğer iki veri şifreleme biçimi arasındaki temel fark, veri bir kez şifrelendikten (hashing) sonra orijinal formuna (şifresi çözülmüş) geri getirilememesidir. Bu gerçek, bir bilgisayar korsanı hash'i ele geçirse bile, mesajın içeriğinin şifresini çözemeyeceği için bunun kendisine hiçbir faydası olmayacağını garanti eder.

    Mesaj Özeti 5 (MD5) ve Güvenli Karma Algoritması (SHA), yaygın olarak kullanılan iki karma algoritmadır.

    Kısıtlamalar

    Daha önce de belirtildiği gibi, belirli bir karmadan elde edilen verilerin şifresini çözmek neredeyse imkansızdır. Ancak bu yalnızca güçlü karma uygulandığında geçerlidir. Hashing tekniğinin zayıf bir şekilde 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 biri bazı dezavantajlara sahiptir. Ancak bu yöntemlerin bir kombinasyonu kullanıldığında güvenli ve oldukça etkili bir şifreleme sistemi oluştururlar.

    Çoğu zaman, özel ve genel anahtar teknikleri birleştirilir ve birlikte kullanılır. Özel anahtar yöntemi hızlı bir şekilde şifrenin çözülmesine olanak tanırken, genel anahtar yöntemi gizli anahtarın iletilmesi için daha güvenli ve daha uygun bir yol sunar. Bu yöntemlerin birleşimi "dijital zarf" olarak bilinir. PGP e-posta şifreleme yazılımı "dijital zarf" tekniğine dayanmaktadır.

    Hashing, bir şifrenin gücünü kontrol etmenin bir yolu olarak kullanılır. Sistem, şifrenin kendisi yerine şifrenin bir karmasını saklarsa, daha güvenli olacaktır, çünkü bir bilgisayar korsanı bu karmayı ele geçirse bile onu anlayamaz (okuyamaz). Doğrulama sırasında sistem karma değerini kontrol edecek gelen şifre ve sonucun depolananla eşleşip eşleşmediğini görecektir. Bu şekilde, gerçek şifre yalnızca değiştirilmesi veya doğrulanması gereken kısa anlarda görünür olacak ve yanlış ellere geçme olasılığı büyük ölçüde azaltılacaktır.

    Hashing aynı zamanda gizli bir anahtar kullanarak verilerin kimliğini doğrulamak için de kullanılır. Veriler ve bu anahtar kullanılarak bir karma oluşturulur. Bu nedenle yalnızca veriler ve karma görünür ve anahtarın kendisi iletilmez. Bu şekilde veride veya hashte değişiklik yapılması durumunda bunlar kolaylıkla tespit edilebilecektir.

    Sonuç olarak bu yöntemlerin kullanılabileceği söylenebilir. verimli kodlama verileri okunamayan bir formata dönüştürerek güvenli kalmasını sağlar. Çoğu modern sistem, güvenliği artırmak için genellikle bu şifreleme yöntemlerinin bir kombinasyonunu ve güçlü algoritma uygulamalarını kullanır. Bu sistemler güvenliğin yanı sıra kullanıcının kimliğinin doğrulanması ve alınan verilere müdahale edilmemesinin sağlanması gibi birçok ek fayda da sağlar.

    21. yüzyılda kriptografi dijital yaşamda ciddi bir rol oynuyor modern insanlar. Bilgiyi şifrelemenin yollarına kısaca bakalım.

    Kriptografi sadece bilgisayarla ilgili bir şey değil

    Büyük ihtimalle temel kriptografiyle zaten karşılaştınız ve belki bazı şifreleme yöntemlerini biliyorsunuzdur. Örneğin Sezar Şifresi eğitici çocuk oyunlarında sıklıkla kullanılır.

    ROT13 başka bir yaygın mesaj şifreleme türüdür. İçinde, alfabenin her harfi şekilde gösterildiği gibi 13 konum kaydırılır:

    Gördüğünüz gibi, bu şifre gerçekten güvenilir koruma bilgi: tüm kriptografi fikrinin basit ve net bir örneğidir.

    Bugün kriptografiden çoğunlukla bazı teknolojiler bağlamında bahsediyoruz. Çevrimiçi bir satın alma işlemi yaptığımızda veya internette gezindiğimizde kişisel ve finansal bilgiler nasıl güvenli bir şekilde aktarılır? banka hesabı? Hiç kimsenin bilgisayarınızı açıp çıkaramaması için verileri nasıl güvenli bir şekilde saklayabilirsiniz? Sabit disk ve bu konudaki tüm bilgilere tam erişime sahip misiniz? Bu ve diğer soruları bu yazıda cevaplayacağız.

    Tanımlar ve Hızlı rehber siber güvenlik konusunda

    Siber güvenlikte herhangi bir veri söz konusu olduğunda kullanıcıları endişelendiren birçok şey vardır. Bunlar bilginin gizliliğini, bütünlüğünü ve kullanılabilirliğini içerir.

    Gizlilik– veriler yetkisiz kullanıcılar tarafından alınamaz veya okunamaz.

    Bilgi bütünlüğü– bilgilerin %100 bozulmadan kalacağına ve bir saldırgan tarafından değiştirilmeyeceğine dair güven.

    Bilginin kullanılabilirliği– Gerektiğinde verilere erişim sağlamak.

    Bu makale ayrıca dijital kriptografinin farklı biçimlerine ve bunların yukarıda sıralanan hedeflere ulaşmaya nasıl yardımcı olabileceğine de bakacaktır.

    Temel şifreleme yöntemleri:
    • Simetrik
    • Asimetrik
    • karma
    • Elektronik imza

    Simetrik şifreleme

    Konuya dalmadan önce basit bir soruyu yanıtlayalım: “Şifreleme” tam olarak ne anlama geliyor? Şifreleme, bilginin yetkisiz kişilerden gizlenecek şekilde dönüştürülmesi ve aynı zamanda yetkili kullanıcıların bu bilgilere erişmesine izin verilmesidir.

    Verileri düzgün bir şekilde şifrelemek ve şifresini çözmek için iki şeye ihtiyacınız vardır: veriler ve şifre çözme anahtarı. Simetrik şifreleme kullanıldığında, verileri şifrelemek ve şifresini çözmek için kullanılan anahtar aynıdır. Bir dize alalım ve onu Ruby ve OpenSSL kullanarak şifreleyelim:

    Yakut

    require "openssl" require "pry" data_to_encrypt = "artık beni okuyabilirsiniz!" cipher = OpenSSL::Cipher.new("aes256") cipher.encrypt anahtarı = cipher.random_key iv = cipher.random_iv data_to_encrypt = cipher.update(data_to_encrypt) + cipher.final bağlama.pry true

    "openssl" gerektirir

    "gözetlemek" gerektirir

    şifre = OpenSSL::Cipher. yeni("aes256")

    şifre şifrelemek

    anahtar = şifre. rastgele_anahtar

    iv = şifre. rastgele_iv

    data_to_encrypt = şifre. update(data_to_encrypt) + cipher. son

    bağlayıcı. gözetlemek

    doğru

    Programın çıktısı budur:

    Lütfen değişkenin data_to_encrypt Başlangıçta “şimdi beni okuyabilirsin!” satırı olan , artık bir grup anlaşılmaz karaktere dönüştü. Başlangıçta bir değişkende saklanan anahtarı kullanarak işlemi tersine çevirelim anahtar.

    Şifreleme için belirlediğimiz anahtarın aynısını kullandıktan sonra mesajın şifresini çözüyor ve orijinal dizeyi alıyoruz.

    Diğer şifreleme yöntemlerine bakalım.

    Asimetrik şifreleme

    Simetrik şifrelemeyle ilgili sorun şudur: İnternet üzerinden bazı veriler göndermeniz gerektiğini varsayalım. Verileri şifrelemek ve şifresini çözmek için aynı anahtar gerekiyorsa, önce anahtarın gönderilmesi gerektiği ortaya çıkar. Bu, anahtarın güvenli olmayan bir bağlantı üzerinden gönderilmesi gerektiği anlamına gelir. Ancak bu şekilde anahtar üçüncü bir tarafça ele geçirilebilir ve kullanılabilir. Bu sonucu önlemek için asimetrik şifreleme icat edildi.

    Asimetrik şifrelemeyi kullanmak için matematiksel olarak ilişkili iki anahtar oluşturmanız gerekir. Bunlardan biri yalnızca sizin erişebileceğiniz özel bir anahtardır. İkincisi halka açıktır ve halka açıktır.

    kullanarak bir iletişim örneğine bakalım. asimetrik şifreleme. İçinde sunucu ve kullanıcı birbirlerine mesaj gönderecektir. Her birinin iki anahtarı vardır: özel ve genel. Daha önce anahtarların bağlı olduğu söylenmişti. Onlar. Özel anahtarla şifrelenen bir mesajın şifresi yalnızca yanındaki ortak anahtar kullanılarak çözülebilir. Bu nedenle iletişimi başlatmak için ortak anahtarları değiştirmeniz gerekir.

    Peki sunucunun genel anahtarının bu sunucuya ait olduğunu nasıl anlıyorsunuz? Bu sorunu çözmenin birkaç yolu vardır. En yaygın yöntem (ve İnternette kullanılan yöntem) ortak anahtar altyapısının (PKI) kullanılmasıdır. Web siteleri söz konusu olduğunda, sertifikaların ve ortak anahtarların verildiği tüm web sitelerinin dizinine sahip olan bir Sertifika Yetkilisi bulunmaktadır. Bir web sitesine bağlandığınızda, bu sitenin genel anahtarı öncelikle bir sertifika yetkilisi tarafından doğrulanır.

    Bir çift genel ve özel anahtar oluşturalım:

    Yakut

    require "openssl" require "pry" data_to_encrypt = "artık beni okuyabilirsiniz!" anahtar = OpenSSL::PKey::RSA.new(2048) bağlama.pry true

    "openssl" gerektirir

    "gözetlemek" gerektirir

    data_to_encrypt = "artık beni okuyabilirsiniz!"

    anahtar = OpenSSL::PKey::RSA. yeni (2048)

    bağlayıcı. gözetlemek

    doğru

    Ortaya çıkacak:

    Özel anahtarın ve genel anahtarın farklı tanımlayıcılara sahip ayrı varlıklar olduğunu unutmayın. Kullanma #özel_şifreleme, bir dizeyi özel bir anahtar kullanarak şifreleyebilirsiniz ve #public_decrypt– mesajın şifresini çözün:

    Karma bilgileri

    Hashing, simetrik ve asimetrik şifrelemenin aksine tek yönlü bir işlevdir. Bazı verilerden karma oluşturmak mümkündür ancak süreci tersine çevirmenin bir yolu yoktur. Bu, karma işlemini verileri depolamak için çok uygun bir yol haline getirmez, ancak bazı verilerin bütünlüğünü kontrol etmek için uygundur.

    İşlev, girdi olarak bazı bilgileri alır ve her zaman aynı uzunlukta olacak, görünüşte rastgele bir dizenin çıktısını alır. İdeal bir karma işlevi, aşağıdakiler için benzersiz değerler üretir: çeşitli girişler. Aynı girdi her zaman aynı hash'i üretecektir. Bu nedenle veri bütünlüğünü doğrulamak için karma kullanılabilir.

    Bu gün, Rus Şifreleme Servisi profesyonel tatilini kutluyor.

    "Kriptografi" eski Yunanca anlamından "gizli yazı".

    Daha önce kelimeleri nasıl gizlerdin?

    Mısır firavunlarının hanedanlığı döneminde gizli bir mektubu iletmenin tuhaf bir yöntemi vardı:

    bir köle seçtiler. Kel kafasını kazıttılar ve üzerine su geçirmez bitkisel boyayla mesaj yazdılar. Saçlar tekrar uzadığında alıcıya gönderildi.

    Şifre- bu, iletilen bilgilerin gizliliğini sağlamak için bir sır (anahtar) içeren bir tür metin dönüştürme sistemidir.

    AiF.ru bir seçim yaptı ilginç gerçeklerşifreleme geçmişinden.

    Bütün gizli yazıların sistemleri vardır

    1. Akrostiş- şiirin her satırının ilk harflerinden oluşan anlamlı bir metin (kelime, deyim veya cümle).

    Örneğin burada cevabın ilk harflerinin verildiği bir bilmece şiiri var:

    D Genel olarak ismimle tanınırım;
    R Serseri ve masumlar onun üzerine yemin ederler.
    sen Ben afetlerdeki bir teknisyenden daha fazlasıyım.
    VE Hayat benimle ve en iyi ihtimalle daha tatlı.
    B Yalnızca saf ruhların uyumuna hizmet edebilirim.
    A kötü adamlar arasında - ben yaratılmadım.
    Yuri Neledinsky-Meletsky
    Sergei Yesenin, Anna Akhmatova, Valentin Zagoryansky sıklıkla akrostişi kullandı.

    2. Litore- eski Rus el yazısı edebiyatında kullanılan bir tür şifreli yazı. Basit ve akıllıca olabilir. Basit olanına anlamsız yazı denir, aşağıdakilerden oluşur: ünsüz harfleri sırayla iki sıraya yerleştirmek:

    yazarken küçük harfler yerine büyük harfler kullanırlar ve bunun tersi de geçerlidir ve sesli harfler değişmeden kalır; Örneğin, tokepot = kedi yavrusu ve benzeri.

    Bilge litorrhea daha karmaşık ikame kurallarını içerir.

    3. "ROT1"- çocuklar için bir kod?

    Çocukken de kullanmış olabilirsiniz. Şifrenin anahtarı çok basittir: Alfabedeki her harfin yerini bir sonraki harf alır.

    A, B ile değiştirilir, B, C ile değiştirilir, vb. "ROT1" kelimenin tam anlamıyla "alfabede 1 harf ileri döndür" anlamına gelir. İfade etmek "Borş çorbasını seviyorum" gizli bir ifadeye dönüşecek “Ah myvmya”. Bu şifrenin eğlenceli olması ve anahtar ters kullanılsa bile anlaşılması ve deşifre edilmesinin kolay olması amaçlanmıştır.

    4. Terimleri yeniden düzenlemekten...

    Birinci Dünya Savaşı sırasında, gizli mesajlar sözde permütasyon yazı tipleri kullanılarak gönderiliyordu. Bunlarda harfler, belirli kurallar veya anahtarlar kullanılarak yeniden düzenlenir.

    Örneğin kelimeler tersten yazılabilir, böylece ifade “Annem çerçeveyi yıkadı” bir ifadeye dönüşüyor "mam alim Ömer". Başka bir permütasyon anahtarı, her harf çiftini, önceki mesaj olacak şekilde yeniden düzenlemektir. “benim y al arım”.

    Karmaşık permütasyon kurallarının bu şifreleri çok zorlaştırdığı görülebilir. Ancak birçok şifrelenmiş mesajın şifresi, anagramlar veya modern bilgisayar algoritmaları kullanılarak çözülebilir.

    5. Sezar'ın kayan şifresi

    Alfabenin her harfi için bir tane olmak üzere 33 farklı şifreden oluşur (şifre sayısı kullanılan dilin alfabesine göre değişir). Kişinin mesajı deşifre edebilmesi için Julius Caesar'ın hangi şifresini kullanması gerektiğini bilmesi gerekiyordu. Örneğin, E şifresi kullanılırsa alfabetik olarak A E olur, B F olur, C Z olur vb. Y şifresi kullanılırsa A Y olur, B Z olur, B A olur vb. Bu algoritma daha birçok karmaşık şifrenin temelini oluşturur ancak 33 farklı şifre anahtarının kontrol edilmesi nispeten kısa bir zaman alacağından tek başına mesajların gizliliği açısından güvenilir bir koruma sağlamaz.

    Kimse yapamadı. Dene

    Şifrelenmiş genel mesajlar entrikalarıyla bizimle dalga geçiyor. Bazıları hala çözülmemiş durumda. İşte buradalar:

    Kripto. Langley, Virginia'daki Merkezi İstihbarat Teşkilatı genel merkezinin önünde bulunan, sanatçı Jim Sanborn tarafından yaratılan bir heykel. Heykel dört şifreleme içeriyor; dördüncünün kodu henüz çözülmedi. 2010 yılında Bölüm 4'teki 64-69 NYPVTT karakterlerinin BERLİN kelimesini ifade ettiği ortaya çıktı.

    Artık makaleyi okuduğunuza göre muhtemelen üç basit şifreyi çözebileceksiniz.

    Seçeneklerinizi bu makalenin yorumlarına bırakın. Cevap 13 Mayıs 2014 saat 13:00'te ortaya çıkacak.

    Cevap:

    1) Tabak

    2) Yavru fil her şeyden bıktı

    3) Güzel hava

    Temel şifreleme algoritmaları

    Temel kavramlar ve tanımlar

    Eğitim ilerledikçe bilgi toplumu büyük devletler mevcut hale geliyor teknik araçlar Milyonlarca insanın toplam gözetimi. Bu nedenle kriptografi, gizliliğin, güvenin, yetkilendirmenin, elektronik ödemelerin, Kurumsal güvenlik ve diğer önemli şeyler.

    Bilginin dönüştürülerek korunması sorunu ele alınır kriptoloji , iki yöne ayrılmıştır: kriptografi Ve kriptanaliz . Bu yönlerin hedefleri tam tersidir.

    Kriptografi arama ve araştırmayla meşgul matematiksel yöntemler bilginin dönüşümü. İlgi alanı kriptanaliz– anahtarları bilmeden bilgilerin şifresini çözme olasılığının araştırılması.

    Modern kriptografi 4 ana bölümden oluşur:

    1. Simetrik kriptosistemler.

    2. Açık anahtarlı şifreleme sistemleri.

    3. Elektronik imza sistemleri.

    4. Anahtar yönetimi.

    Kriptografik yöntemlerin temel kullanım alanları iletimdir. kesin bilgi iletişim kanalları aracılığıyla, iletilen mesajların doğruluğunun belirlenmesi, bilgilerin medyada şifreli biçimde saklanması.

    Kriptografi, bilginin okunmasını (kurtarılmasını) ancak anahtarın bilinmesi durumunda mümkün olacak şekilde dönüştürmeyi mümkün kılar. Belirli bir alfabeye dayalı metinler, şifrelenecek ve şifresi çözülecek bilgiler olarak değerlendirilecektir.

    Alfabe– bilgiyi kodlamak için kullanılan sonlu bir dizi işaret. Örnekler:

    ü alfabe Z33 – Rus alfabesinin 32 harfini ve bir boşluğu içerir;

    ü alfabe Z256 – standarda dahil olan semboller ASCII kodları ve KOI-8;

    ü ikili alfabe Z2 – iki karakter (0 ve 1);

    ü sekizlik veya onaltılık alfabeler.

    Metin- alfabenin sıralı bir dizi öğesi.

    Şifreleme– orijinal (düz) metnin şifreli metinle değiştirilmesine ilişkin dönüştürücü süreç.

    Şifre çözme(ters şifreleme) – şifreli metni anahtara dayalı orijinal metinle değiştirmeye yönelik dönüştürücü bir süreç.

    Anahtar– metinlerin sorunsuz şifrelenmesi ve şifresinin çözülmesi için gerekli bilgiler.

    Şifreleme sistemi düz metin dönüşümlerinin bir T [T 1, T 2, ..., T k] ailesini temsil eder. Bu ailenin üyeleri sembolle indekslenir veya gösterilir İle; parametre İle Anahtar mı. Anahtar uzayı K olası anahtar değerlerin kümesidir. Tipik olarak anahtar, sıralı bir alfabetik karakter dizisidir.

    Kriptosistemler ikiye ayrılır simetrik Ve asimetrik . İÇİNDE simetrik kriptosistemler Hem şifreleme hem de şifre çözme için aynı anahtar kullanılır. İÇİNDE asimetrik sistemler (genel anahtar) matematiksel olarak birbiriyle ilişkili olan genel ve özel olmak üzere iki anahtar kullanılır. Bilgi, herkesin kullanımına açık bir genel anahtar kullanılarak şifrelenir ve yalnızca mesajın alıcısının bildiği özel bir anahtar kullanılarak şifresi çözülür.

    Şartlar anahtar dağıtımı Ve anahtar yönetimi içeriği anahtarların derlenmesi ve kullanıcılar arasında dağıtılması olan bilgi işlem süreçlerini ifade eder.

    Elektronik (dijital) imza Metnin başka bir kullanıcı tarafından alındığında mesajın yazarlığının ve orijinalliğinin doğrulanmasına olanak tanıyan, metne eklenen kriptografik dönüşüm denir.

    Şifreleme gücü anahtarı bilmeden şifre çözmeye karşı direncini (yani kriptanalize direnci) belirleyen bir şifrenin özelliğidir. Kriptografik gücün çeşitli göstergeleri vardır:

    olası tüm anahtarların sayısı;

    kriptanaliz için gereken ortalama süre.

    Kriptosistemler için gereksinimler

    Kriptografik veri kapatma işlemi yazılımsal veya donanımsal olarak gerçekleştirilebilmektedir. Donanım uygulaması önemli ölçüde daha pahalıdır, ancak yüksek performans, basitlik, güvenlik. Yazılım uygulaması daha pratiktir ve kullanımda belli bir esneklik sağlar.

    Kriptografik sistemler için genel kabul görmüş gereksinimler:

    · şifrelenmiş bir mesaj yalnızca anahtarın mevcut olması durumunda okunabilir olmalıdır;

    · şifrelenmiş bir mesajın bir parçasından ve karşılık gelen düz metinden kullanılan anahtarı belirlemek için gerekli işlem sayısı, en azından olası anahtarların toplam sayısı olmalıdır;

    · olası anahtarlar arasında arama yaparak bilgilerin şifresini çözmek için gereken işlem sayısı katı bir alt sınıra sahip olmalı ve modern bilgisayarların yeteneklerinin ötesine geçmelidir (ağ bilişiminin yetenekleri dikkate alınarak);

    · şifreleme algoritması bilgisi, korumanın güvenilirliğini etkilememelidir;

    · anahtardaki küçük bir değişiklik, şifrelenmiş mesajın türünde önemli bir değişikliğe yol açmalıdır;

    · şifreleme algoritmasının yapısal unsurları değişmemelidir;

    · Şifreleme işlemi sırasında mesaja eklenen ek bitler, şifreli metinde tamamen ve güvenli bir şekilde gizlenmelidir;

    Şifreli metnin uzunluğu şu şekilde olmalıdır: uzunluğa eşit kaynak metin;

    · Şifreleme işleminde sıralı olarak kullanılan anahtarlar arasında basit ve kolaylıkla kurulabilecek bağımlılıklar olmamalıdır;

    · olası birçok anahtardan herhangi biri güvenilir bilgi koruması sağlamalıdır;

    · Algoritma hem yazılım hem de donanım uygulamasına izin vermeli, anahtar uzunluğunun değiştirilmesi ise şifreleme algoritmasında niteliksel bir bozulmaya yol açmamalıdır.

    Temel şifreleme algoritmaları

    Şifreleme-şifre çözme yöntemi denir kod . Şifre çözme için kullanılan anahtar, şifreleme için kullanılan anahtarla aynı olmayabilir ancak çoğu algoritmada anahtarlar aynıdır.

    Anahtar tabanlı algoritmalar iki sınıfa ayrılır: simetrik (gizli anahtarla) ve asimetrik (genel anahtarla). Simetrik algoritmalar, şifreleme ve şifre çözme için aynı anahtarı kullanır veya şifre çözme anahtarı, şifreleme anahtarından basitçe hesaplanır. Asimetrik algoritmalar farklı anahtarlar kullanır ve şifre çözme anahtarı, şifreleme anahtarından hesaplanamaz.

    Simetrik algoritmalar akış şifreleri ve blok şifreleri olarak ikiye ayrılır. Akışlı olanlar bilgiyi parça parça şifrelemenize izin verirken, blok olanlar belirli bir veri bitleri kümesiyle çalışır ( tipik olarak blok boyutu 64 bittir) ve bu seti tek bir bütün olarak şifreleyin.

    Tipik olarak şifreleme anahtarı bir dosya veya veri dizisidir ve kişisel bir anahtar ortamında (örneğin, bir flash sürücü veya akıllı kart) depolanır; Kişisel anahtar ortamının sahibi dışında kimsenin erişimine kapalı olmasını sağlayacak önlemlerin alınması zorunludur.



    Orijinallik, önceden şifre çözme olmadan, kriptografik olarak kapatılmış bir mesajın anlamsal modifikasyonunu ve sahteciliğini gerçekleştirmenin neredeyse imkansız olması nedeniyle sağlanır. Sahte bir mesaj, gizli anahtarı bilmeden doğru şekilde şifrelenemez.

    İletilen verilere özel bir kod eklenerek veri bütünlüğü sağlanır ( taklit ekler ), gizli bir anahtar kullanılarak oluşturulur. Taklit ek bir tür sağlama toplamıdır, yani. mesajın bütünlüğünün kontrol edildiği bir mesajın bazı referans özellikleri. Simüle edilmiş bir ekleme oluşturmaya yönelik algoritma, bazı karmaşık şifreleme yasalarına göre mesajın her bir bitine bağımlılığını sağlamalıdır. Mesajın bütünlüğü, mesajın alıcısı tarafından, gizli bir anahtar kullanılarak, alınan mesaja karşılık gelen simüle edilmiş bir ekleme üretilerek ve bunu simüle edilmiş eklemenin alınan değeriyle karşılaştırarak doğrulanır. Eşleşme olması halinde bilginin göndericiden alıcıya giderken değiştirilmediği sonucuna varılır.

    Simetrik şifreleme, örneğin sahibinin yokluğunda bilgilere yetkisiz erişimi önlemek için bilgilerin "kendisi için" şifrelenmesi için idealdir. Yüksek şifreleme hızına sahibim; tek anahtarlı kriptosistemler birçok önemli bilgi güvenliği problemini çözmemize olanak sağlıyor. Fakat bağımsız kullanım Bilgisayar ağlarındaki simetrik kriptosistemler, kullanıcılar arasında şifreleme anahtarlarının dağıtılması sorununu ortaya çıkarmaktadır.

    Şifrelenmiş veri alışverişine başlamadan önce, gizli anahtarları tüm alıcılarla paylaşmalısınız. Simetrik bir kriptosistemin gizli anahtarının aktarımı kamuya açık iletişim kanalları aracılığıyla gerçekleştirilemez; gizli anahtarın göndericiye ve alıcıya güvenli bir kanal aracılığıyla (veya kurye kullanılarak) aktarılması gerekir. Sağlamak etkili koruma Ağda dolaşan mesajlar çok sayıda sık değişen anahtar gerektirir (her kullanıcı çifti için bir anahtar). Gizli anahtarların çok sayıda kullanıcıya dağıtılması sorunu oldukça zaman alıcı ve karmaşık bir iştir. Bir ağda N(N-1)/2 gizli anahtarın N kullanıcı arasında dağıtılması gerekir.

    Asimetrik şifreler genel anahtarın herkesin kullanımına açık olmasına izin verin (örneğin, bir gazetede yayınlanmış). Bu, herkesin bir mesajı şifrelemesine olanak tanır. Ancak yalnızca şifre çözme anahtarına sahip olan kullanıcı bu mesajın şifresini çözebilir. Şifreleme anahtarı denir Genel anahtar ve şifre çözme anahtarı Özel anahtar veya gizli anahtar .

    Özel ve genel anahtarlar çiftler halinde oluşturulur. Gizli anahtar sahibinde kalmalı ve yetkisiz erişime karşı güvenilir bir şekilde korunmalıdır (simetrik algoritmalardaki şifreleme anahtarına benzer şekilde). Açık anahtarın bir kopyası, gizli anahtar sahibinin bilgi alışverişinde bulunduğu kriptografik ağdaki her abone tarafından saklanmalıdır.

    Açık anahtar şifreleme sistemleri, aşağıdaki özelliklere sahip olan, geri döndürülemez veya tek yönlü işlevler olarak adlandırılan işlevleri kullanır: bir değer verildiğinde X değeri hesaplamak nispeten kolay f(x) ancak eğer yM = j(x) o zaman değeri hesaplamanın kolay bir yolu yoktur X. Geri dönüşü olmayan işlevlerin sınıfları kümesi, tüm açık anahtar sistemlerinin çeşitliliğine yol açar.

    Asimetrik bir kriptosistemde şifrelenmiş bilgilerin iletilmesi işlemi aşağıdaki gibi gerçekleştirilir.

    Hazırlık aşaması:

    · abone B bir çift anahtar üretir: gizli anahtar k giriş ve genel anahtar K giriş;

    · genel anahtar K, abone A'ya ve diğer abonelere gönderilir (veya örneğin paylaşılan bir kaynakta kullanılabilir hale getirilir).

    Kullanım ( A ve B arasında bilgi alışverişi ):

    · A abonesi, B abonesinin K genel anahtarını kullanarak mesajı şifreler ve şifreli metni B abonesine gönderir;

    · B abonesi, k gizli anahtarını kullanarak mesajın şifresini çözer; başka kimse çözemez bu mesaj, Çünkü B abonesinin gizli anahtarına sahip değil.

    Asimetrik bir kriptosistemde bilgi koruması, mesaj alıcısındaki k anahtarının gizliliğine dayanır.

    Avantajları simetrik şifreleme sistemlerinden önce asimetrik şifreleme sistemleri:

    ü asimetrik kriptosistemlerde çözüldü karmaşık sorun anahtarların kullanıcılar arasında dağıtımı, çünkü her kullanıcı kendi anahtar çiftini kendisi oluşturabilir ve kullanıcıların genel anahtarları ağ iletişimleri üzerinden serbestçe yayınlanıp dağıtılabilir;

    ü Anahtar sayısının kullanıcı sayısına ikinci dereceden bağımlılığı ortadan kalkar; Asimetrik bir kriptosistemde kullanılan anahtar sayısı abone sayısıyla ilişkilidir. doğrusal bağımlılık(N kullanıcılı bir sistemde 2N anahtar kullanılır) ve simetrik sistemlerde olduğu gibi ikinci dereceden değil;

    ü Asimetrik şifreleme sistemleri, asimetrik şifreleme sistemleri kullanıldığında özel anahtarın yalnızca sahibi tarafından bilinmesi gerektiğinden, birbirlerine güvenmeyen taraflar arasındaki etkileşime yönelik protokollerin uygulanmasına izin verir.

    Kusurlar asimetrik kriptosistemler:

    açık şu anda asimetrik algoritmalarda kullanılan fonksiyonların tersinmezliğine dair matematiksel bir kanıt yoktur;

    ü asimetrik şifreleme, simetrik şifrelemeden önemli ölçüde daha yavaştır; çünkü şifreleme ve şifre çözme, çok kaynak yoğun işlemler kullanır; aynı nedenden ötürü, asimetrik bir algoritmaya sahip bir donanım şifreleyicisinin uygulanması, bir donanım simetrik algoritmasının uygulanmasından çok daha zordur;

    ü genel anahtarları ikame edilmeye karşı koruma ihtiyacı.

    Modern şifreleme-şifre çözme algoritmaları oldukça karmaşıktır ve manuel olarak gerçekleştirilemez. Gerçek şifreleme algoritmaları bilgisayarlar veya özel donanım aygıtları tarafından kullanılmak üzere tasarlanmıştır. Çoğu uygulamada kriptografi yazılımlar tarafından yapılır ve birçok kriptografi paketi mevcuttur.

    Simetrik algoritmalar asimetrik algoritmalardan daha hızlıdır. Uygulamada, her iki algoritma türü sıklıkla birlikte kullanılır: Rastgele oluşturulmuş bir gizli anahtarı iletmek için bir genel anahtar algoritması kullanılır ve bu daha sonra bir mesajın şifresini çözmek için kullanılır.

    Birçok yüksek kaliteli şifreleme algoritması yaygın olarak mevcuttur. En ünlü simetrik algoritmalar DES ve IDEA'dır; en iyi asimetrik algoritma RSA'dır. Rusya'da şifreleme standardı olarak GOST 28147-89 benimsenmiştir.

    Tablo 1 kriptografik bilgi kapatmanın sınıflandırmasını göstermektedir.

    tablo 1

    Dönüşüm türleri Dönüşüm yöntemleri Yöntemin çeşitleri Uygulama yöntemi
    Şifreleme Değiştirme (ikame) Basit (tek alfabeli) Prog.
    Çok alfabetik tek devreli sıradan Prog.
    Çoklu alfabetik tek devreli monofonik Prog.
    Prog.
    Yeniden düzenleme Basit Prog.
    Tabloya göre karmaşık Prog.
    Karmaşık rotalar Prog.
    Analitik dönüşüm Matris cebiri kurallarına göre Prog.
    Özel bağımlılıklar için Prog.
    sakızlama Sonlu kısa menzilli Donanım programı.
    Sonlu uzun menzilli Donanım programı.
    Sonsuz bir aralıkla Donanım programı.
    Kombine Değiştirme+yeniden düzenleme Donanım programı.
    Değiştirme+kumar Donanım programı.
    Yeniden düzenleme + kumar Donanım programı.
    Sakızlama + Sakızlama Donanım programı.
    Kodlama Anlamsal Özel tablolara (sözlüklere) göre Prog.
    Simgesel Kod alfabesine göre Prog.
    Diğer çeşitler Parçalamak Anlamsal Donanım programı.
    Mekanik Prog.
    Sıkıştırma-genişleme

    BEN. Altında şifreleme korunan mesajın her karakterinin dönüşüme tabi tutulduğu bir tür kriptografik kapatma anlamına gelir.

    Bilinen tüm şifreleme yöntemleri beş gruba ayrılabilir: değiştirme (ikame), permütasyon, analitik dönüşüm, gama ve birleşik şifreleme. Bu yöntemlerin her birinin birkaç çeşidi olabilir.

    Yöntemin çeşitleri yenisiyle değiştirme (ikame ):

    1) Basit (tek alfabetik) – şifrelenmiş metnin karakterleri aynı alfabenin diğer karakterleri ile değiştirilir. Şifreli metnin hacmi büyükse, şifreli metindeki harflerin görünme sıklıkları, alfabedeki (metnin yazıldığı dildeki) harflerin görünme sıklıklarına daha yakın olacak ve şifre çözme çok basit olacaktır. Bu yöntem şu anda şifrelenmiş metnin kısa olduğu durumlarda nadiren kullanılmaktadır.

    2) Çok alfabeli değiştirme, kaynak metindeki karakterlerin az çok karmaşık bir kurala göre diğer alfabelerdeki karakterlerle değiştirilmesinden oluşan en basit dönüşüm türüdür. Yüksek kriptografik gücü sağlamak için büyük anahtarların kullanılması gerekir.

    Şu tarihte: çoklu alfabetik tek devreli sıradan ikame, kaynak metindeki karakterleri değiştirmek için birkaç alfabe kullanır ve alfabe sırayla ve döngüsel olarak değiştirilir; ilk karakter, birinci alfabenin karşılık gelen karakteriyle, ikincisi, ikinci alfabenin karakteriyle vb. değiştirilir. seçilen tüm alfabeler kullanılıncaya kadar. Bundan sonra alfabelerin kullanımı tekrarlanır.

    Özellik çoklu alfabetik tek devreli monofonik ikame, alfabelerin sayısının ve bileşiminin, şifreli metindeki tüm karakterlerin görünme sıklıklarının aynı olacak şekilde seçilmesidir. Bu durumda şifreli metnin istatistiksel işlemlerini kullanarak kriptanalize edilmesi zorlaşır. Sembollerin ortaya çıkma sıklığının hizalanması, kaynak metinde sıklıkla görülen semboller için, nadiren meydana gelen sembollere göre daha fazla sayıda değiştirme elemanının sağlanması nedeniyle elde edilir.

    Çoklu alfabetik çoklu devre ikame, şifreleme için birkaç alfabe setinin (devre) kullanılması, döngüsel olarak kullanılması ve genel durumda her devrenin kendi bireysel uygulama periyoduna sahip olması gerçeğinden oluşur. Bu süre, kural olarak, alfabelerin ana hatlarının değiştiği şifrelendikten sonra karakter sayısına göre hesaplanır.

    Yol permütasyonlar - basit bir kriptografik dönüştürme yöntemi. Genellikle diğer yöntemlerle birlikte kullanılır. Bu yöntem, şifrelenmiş metindeki karakterlerin, şifrelenmiş karakter bloğu içerisinde belirli kurallara göre yeniden düzenlenmesinden oluşur. Permütasyon yöntemini kullanan tüm şifreleme ve şifre çözme prosedürleri yeterince resmileştirilmiştir ve algoritmik olarak uygulanabilir.

    Basit permütasyonla şifreleme şu şekilde gerçekleştirilir:

    · tekrarlanmayan karakterlere sahip bir anahtar kelime seçin;

    · şifreli metin sembollerin altında ardışık satırlar halinde yazılmıştır anahtar kelime;

    · şifreli metin, anahtarın harflerinin alfabede yer aldığı sıraya göre (veya dijital ise doğal bir dizideki sayıların sırasına göre) sütunlar halinde yazılır.

    Örnek:

    açık metin: DİKKATLİ OLUN

    tuş: 5 8 1 3 7 4 6 2

    şifreleme şeması:

    B U D E q O (burada q bir boşluktur)

    DEPOLAMA

    Her biri 2 karakteri gruplandırıyoruz ve şifrelenmiş metni alıyoruz:

    DOOOYREZHBSqNTOUT

    Basit permütasyonla şifrelemenin dezavantajı, şifreli metnin uzunluğunun büyük olması durumunda, anahtar sembollerin desenlerinin şifreli metinde görünebilmesidir. Bu dezavantajı ortadan kaldırmak için belirli sayıda karakteri şifreledikten sonra anahtarı değiştirebilirsiniz. Anahtarı yeterince sık değiştirerek şifrelemenin gücü önemli ölçüde artırılabilir. Ancak aynı zamanda şifreleme ve şifre çözme sürecinin organizasyonu daha karmaşık hale gelir.

    Tabloların karmaşık yeniden düzenlenmesişifrelenmiş metnin karakterlerini kaydetmek için, içine bazı karmaşık unsurların eklendiği özel bir tablonun kullanılması gerçeğinde yatmaktadır. Tablo, boyutları keyfi olarak seçilebilen bir matristir. Şifrelenmiş metnin karakterleri, basit bir permütasyonda olduğu gibi içine yazılır. Sorun, belirli sayıda tablo hücresinin kullanılmamasıdır. Kullanılmayan öğelerin sayısı ve konumu ek bir şifreleme anahtarıdır. ( Blokları halinde şifrelenmiş metin M X NS) elemanları tabloya yazılır ( M X N - masa ölçüleri, S - kullanılmayan öğelerin sayısı). Daha sonra şifreleme prosedürü basit bir yeniden düzenlemeye benzer.

    Tablonun boyutunu, anahtar karakterlerin sırasını ve kullanılmayan öğelerin sayısını ve konumunu değiştirerek şifreli metnin gerekli gücünü elde edebilirsiniz.

    Rotaların karmaşık yeniden düzenlenmesi yüksek şifreleme gücüne sahiptir ve Hamilton tipi rotalar boyunca karmaşık bir permütasyon yöntemi kullanır. Bu durumda, şifreli metnin sembollerini kaydetmek için belirli bir hiperküpün köşeleri kullanılır ve şifreli metnin sembolleri Hamilton rotaları kullanılarak hesaplanır ve birkaç farklı rota kullanılır.

    Şifreleme yöntemi analitik dönüşümleri kullanma yeterince güvenilir bilgi kapatma sağlar. Bunu yapmak için matris cebiri yöntemlerini kullanabilirsiniz, örneğin bir matrisi bir vektörle çarpmak gibi. Matris anahtar olarak kullanılırsa ve vektör bileşeninin yerine kaynak metin karakterleri konulursa, ortaya çıkan vektörün bileşenleri şifreli metin karakterleri olacaktır. Şifre çözme, bir matrisin bir vektörle çarpılmasıyla aynı kural kullanılarak gerçekleştirilir, yalnızca kapatmayı gerçekleştirmek için kullanılan matrisin tersi olan matris temel alınır ve kapalı metnin karşılık gelen sembol sayısı, faktör vektörü olarak alınır. . Sonuç vektörünün değerleri, düz metin karakterlerinin dijital eşdeğerleri olacaktır.

    sakızlama- bu yöntem, anahtara dayalı olarak oluşturulan bazı sözde rastgele dizilerin kaynak metin üzerine bindirilmesinden oluşur. Kaynak metne gama uygulama prosedürü iki şekilde gerçekleştirilebilir. İÇİNDE ilk yöntem kaynak metnin ve gama sembollerinin yerini dijital eşdeğerler alır ve bunlar daha sonra modulo olarak eklenir. İLE, burada K alfabedeki karakter sayısıdır, yani.

    t c = (t p + t g) mod K, Nerede tc, t p,t g – sırasıyla şifreli metin, düz metin ve gama sembolleri.

    İkinci yöntemde kaynak metin ve gama sembolleri şu şekilde temsil edilir: ikili kod ve ardından karşılık gelen rakamlar modulo 2'ye eklenir. Modulo 2'yi eklemek yerine, gama sırasında diğer mantıksal işlemler kullanılabilir, örneğin mantıksal eşdeğerlik veya mantıksal eşdeğersizlik kuralına göre dönüşüm. Böyle bir değiştirme, şifrelenmiş mesajın sembollerini orijinal metin ve gama sembollerinden oluşturma kuralının seçimi olan başka bir anahtarın eklenmesine eşdeğerdir.

    Gama yöntemini kullanan şifrelemenin gücü, esas olarak gama özellikleriyle (periyodun uzunluğu ve istatistiksel özelliklerin tekdüzeliği) belirlenir. Son özellik Bir dönem içerisinde çeşitli sembollerin görünümünde herhangi bir desen oluşmamasını sağlar.

    Gamanın iyi istatistiksel özellikleri sayesinde şifrelemenin gücü yalnızca periyodunun uzunluğuna göre belirlenir. Ayrıca, gama periyodunun uzunluğu şifrelenmiş metnin uzunluğunu aşarsa, o zaman böyle bir şifre teorik olarak kesinlikle güvenlidir. Herhangi bir dizi sonsuz ölçek olarak kullanılabilir rastgele sembollerörneğin PI sayısının rakam dizisi. Bir bilgisayar kullanılarak şifrelenirken gama dizisi, sözde rastgele sayı sensörü kullanılarak oluşturulur.

    Birleşik şifreleme yöntemleri birkaçını aynı anda kullanın çeşitli şekillerde yani Orijinal metnin iki veya daha fazla yöntem kullanılarak sıralı olarak şifrelenmesi. Bu yeterli Etkili araçlarşifreleme gücünü arttırmak.

    Birleşik şifrenin tipik bir örneği ABD Ulusal Veri Şifreleme Standardıdır (DES).

    II. Altında kodlama Bu tür kriptografik kapatma, korunan verinin bazı öğelerinin (bunların tek tek karakterler olması şart değildir) önceden seçilmiş kodlarla (sayısal, alfabetik, alfasayısal kombinasyonlar vb.) değiştirilmesiyle anlaşılır.

    Bu yöntemin iki çeşidi vardır: anlamsal kodlama ve sembolik kodlama. Şu tarihte: anlamsal kodlama kodlanan öğelerin çok özel bir anlamı vardır (kelimeler, cümleler, cümle grupları). Şu tarihte: karakter kodlaması Korunan mesajın her karakteri kodlanmıştır. Sembolik kodlama aslında ikame şifrelemeyle aynıdır.

    Şu tarihte: doğru kullanım Kodların kırılması diğer klasik sistemlere göre çok daha zordur. Bunun için üç sebep var. İlk önce, kullanılan kodun büyük uzunluğu (şifreleme için - birkaç yüz bit; kod kitabı - yüz binlerce - bir milyon bit). ikinci olarak, kodlar fazlalığı ortadan kaldırır; kriptanalistin işi daha da zorlaşır. Üçüncü Kodlar nispeten büyük düz metin blokları (kelimeler ve ifadeler) üzerinde çalışır ve bu nedenle, aksi takdirde bir kriptanaliste değerli "ipuçları" sağlayabilecek yerel bilgileri gizler.

    İLE eksiklikler kodlama sırasında anahtarın yeterince iyi kullanılmamasına bağlanmalıdır çünkü Kodlarken tek kelime ve ifadeler kod kitabının yalnızca çok küçük bir kısmı kullanılır. Sonuç olarak kod, yoğun kullanıldığında kısmen analiz edilebiliyor ve özellikle bilinen düz metinlerin varlığında saldırılara karşı hassas oluyor. Bu nedenlerden dolayı, daha fazla güvenilirlik sağlamak için kodların daha sık değiştirilmesi gerekir.

    III. diğer yöntemler Kriptografik kapatmalar, veri ayrıştırmayı/çeşitlendirmeyi ve veri sıkıştırmayı içerir. Verilerin parçalanması/patlaması korunan veri dizisinin, her biri korunan bilginin içeriğinin açığa çıkmasına izin vermeyen öğelere bölünmesi ve bu şekilde seçilen öğelerin farklı bellek bölgelerine yerleştirilmesinden oluşur. Ters prosedüre veri toplama denir. Verileri dağıtma ve birleştirme algoritmasının gizli tutulması gerektiği oldukça açıktır.

    Veri sıkıştırma sık sık meydana gelen aynı veri dizilerinin veya aynı karakter dizilerinin önceden seçilmiş bazı karakterlerle değiştirilmesini temsil eder.

    Karma işlevler

    Özet fonksiyonu bir dosyanın, mesajın veya bazı veri bloklarının özetini veya "parmak izini" elde etmek için tasarlanmış tek yönlü bir işlevdir.

    Başlangıçta karma işlevleri, özgünlüklerini tanımlamak ve belirlemek amacıyla rastgele uzunluktaki bilgi dizilerinin benzersiz bir görüntüsünü oluşturmaya yönelik işlevler olarak kullanıldı. Görüntünün kendisi sabit uzunlukta, genellikle 30, 60, 64, 128, 256 veya 512 bitlik küçük bir blok olmalıdır. Bu nedenle, büyük dizilere veya veritabanlarına sahip arama işlemlerini ve diğerlerini sıralama, önemli ölçüde basitleştirilmiştir; çok daha az zaman alır. Gerekli hata olasılığını sağlamak için karma işlevine yönelik bir dizi gereksinimin sağlanması gerekir:

    · karma işlevi, M metnindeki eklemeler, emisyonlar, permütasyonlar gibi her türlü değişikliğe duyarlı olmalıdır;

    · karma işlevi geri döndürülemezlik özelliğine sahip olmalıdır, yani gerekli karma işlevi değerine sahip bir “M” belgesini seçme görevi hesaplama açısından zor olmalıdır;

    · iki farklı belgenin hash fonksiyonu değerlerinin (uzunluklarına bakılmaksızın) çakışma olasılığı ihmal edilebilir düzeyde olmalıdır.

    Çok sayıda mevcut matematiksel fonksiyonlar. Bu işlevler sıralama, arama vb. için kullanılıyorsa. Ancak daha sonra Simonson'ın kimlik doğrulama teorisi üzerine yaptığı çalışmaya dayanarak, iletişim kanallarında ve telekomünikasyon sistemlerinde mesaj kimlik doğrulama şemalarında karma yöntemlerinin kullanılmasının tavsiye edilebilirliği netleşti. Bu bağlamda, kriptografi alanındaki araştırmalarda yeni hash fonksiyonlarının geliştirilmesi ve mevcut hash fonksiyonlarının iyileştirilmesi ile ilgili bir takım yönler açılmıştır. Karma işlevlerini kullanmanın ana fikri, modern şifreleme mekanizmalarının ve kimlik doğrulama yöntemlerinin geliştirilmesinde ana ürün olan bunlardan tek yönlü işlevler türetmektir.
    Tek yönlü karma fonksiyonlarıyla ilgili temel kavramlara bakalım.

    Çoğu karma işlevi tek yönlü bir işlevi temel alır F( ) uzunluğun bir çıktı değerini üreten N uzunluğun iki giriş değerini belirtirken N. Bu girdiler bir kaynak metin bloğudur Mi ve hash değeri Merhaba–1önceki metin bloğu (Şekil 1):

    Merhaba = f (Mi, Merhaba–1).

    Son metin bloğu girildiğinde hesaplanan karma değeri, M mesajının tamamının karma değeri olur.

    Şekil 1. Tek yönlü karma fonksiyon diyagramı

    Sonuç olarak, tek yönlü bir karma işlevi her zaman sabit uzunlukta n (giriş metninin uzunluğundan bağımsız olarak) bir çıktı üretir. Karma algoritması yinelemeli olduğundan karma işlevlerine yinelemeli algoritmalar da denir. Karma algoritmasının özü tek taraflı olmasıdır, yani. işlev tek yönde çalışmalıdır; sıkıştırın, karıştırın ve dağıtın, ancak asla geri yüklemeyin. Bu tür şemalar, veri bütünlüğünü sağlayan kaynak metinlerdeki ve algoritmalardaki değişiklikleri izlemenize olanak tanır elektronik imza Ayrıca verilerin orijinalliğini de sağlayın. Ancak bu işlevler saf haliyle doğrulanamaz.

    Sergey Panasenko,
    Ankad Yazılım Geliştirme Bölüm Başkanı
    [e-posta korumalı]

    Temel konseptler

    Açık veriyi şifrelenmiş veriye (ve tersini) dönüştürme işlemine genellikle şifreleme denir ve bu sürecin iki bileşenine sırasıyla şifreleme ve şifre çözme denir. Matematiksel olarak bu dönüşüm, eylemleri orijinal bilgilerle tanımlayan aşağıdaki bağımlılıklarla temsil edilir:

    C = Ek1(M)

    M" = Dk2(C),

    M (mesaj) açık bilgidir (bilgi güvenliği literatüründe buna genellikle “kaynak metin” denir);
    C (şifreli metin) - şifreleme sonucunda elde edilen şifreli metin (veya kriptogram);
    E (şifreleme) - kaynak metin üzerinde kriptografik dönüşümler gerçekleştiren bir şifreleme işlevi;
    k1 (anahtar) - E fonksiyonunun parametresi, şifreleme anahtarı olarak adlandırılır;
    M" - şifre çözme sonucu elde edilen bilgiler;
    D (şifre çözme) - şifreli metin üzerinde ters kriptografik dönüşümler gerçekleştiren şifre çözme işlevi;
    k2 bilginin şifresini çözmek için kullanılan anahtardır.

    GOST 28147-89 standardında (simetrik şifreleme algoritması) “anahtar” kavramı şu şekilde tanımlanmaktadır: “bir kriptografik dönüşüm algoritmasının bazı parametrelerinin belirli bir gizli durumu, bir dizi olası dönüşümden bir dönüşümün seçilmesini sağlar. belirli bir algoritma.” Başka bir deyişle anahtar, şifreleme algoritmasının sonuçlarını değiştirebileceğiniz benzersiz bir öğedir: aynı kaynak metin, farklı anahtarlar kullanıldığında farklı şekilde şifrelenecektir.

    Şifre çözme sonucunun orijinal mesajla eşleşmesi için (yani M" = M için), iki koşulun aynı anda karşılanması gerekir. İlk olarak, şifre çözme fonksiyonu D, şifreleme fonksiyonu E ile eşleşmelidir. İkinci olarak, k2 şifre çözme anahtarı şifrelemeyle eşleşmelidir. anahtar k1.

    Şifreleme için kriptografik olarak güçlü bir şifreleme algoritması kullanılmışsa, doğru k2 anahtarının yokluğunda M" = M elde etmek imkansızdır. Kriptografik güç, şifreleme algoritmalarının ana özelliğidir ve öncelikle orijinali elde etmenin karmaşıklık derecesini gösterir. anahtarsız şifrelenmiş bir metinden metin k2.

    Şifreleme algoritmaları iki kategoriye ayrılabilir: simetrik ve asimetrik şifreleme. İlki için, şifreleme ve şifre çözme anahtarlarının oranı k1 = k2 = k olarak tanımlanır (yani, E ve D işlevleri aynı şifreleme anahtarını kullanır). Asimetrik şifrelemede, k1 şifreleme anahtarı, k2 anahtarından, örneğin k1 = ak2 mod p formülü kullanılarak ters dönüşümün imkansız olacağı şekilde hesaplanır (a ve p, kullanılan algoritmanın parametreleridir).

    Simetrik şifreleme

    Simetrik şifreleme algoritmalarının tarihi çok eskilere dayanmaktadır: MÖ 1. yüzyılda Roma imparatoru Gaius Julius Caesar tarafından kullanılan bu bilgi gizleme yöntemiydi. e. ve icat ettiği algoritma "Sezar şifreleme sistemi" olarak biliniyor.

    Şu anda en iyi bilinen algoritma simetriktir. DES şifrelemesi(Veri Şifreleme Standardı), 1977'de geliştirildi. Yakın zamana kadar “ABD standardıydı” çünkü bu ülkenin hükümeti çeşitli veri şifreleme sistemlerinin uygulanması için kullanılmasını tavsiye ediyordu. DES'in başlangıçta 10-15 yıldan fazla kullanılmaması planlanmış olmasına rağmen, onu değiştirme girişimleri ancak 1997'de başladı.

    DES'i ayrıntılı olarak ele almayacağız (ek materyaller listesindeki hemen hemen tüm kitaplarda DES bulunmaktadır) Detaylı Açıklama) ve daha modern şifreleme algoritmalarına geçelim. Şifreleme standardını değiştirmenin ana nedeninin nispeten zayıf şifreleme gücü olduğunu belirtmekte fayda var; bunun nedeni de DES anahtar uzunluğunun yalnızca 56 önemli bit olmasıdır. Herhangi bir güçlü şifreleme algoritmasının, olası tüm şifreleme anahtarları denenerek (kaba kuvvet saldırısı olarak adlandırılan) kırılabileceği bilinmektedir. Her biri saniyede 1 milyon anahtar hesaplayan 1 milyon işlemciden oluşan bir kümenin, neredeyse 20 saat içinde 256 DES anahtarı çeşidini kontrol edeceğini hesaplamak kolaydır. işlem gücü oldukça gerçektir, 56 bitlik anahtarın çok kısa olduğu ve DES algoritmasının daha güçlü bir algoritmayla değiştirilmesi gerektiği açıktır.

    Günümüzde iki modern güçlü şifreleme algoritması giderek daha fazla kullanılmaktadır: yerel standart GOST 28147-89 ve yeni ABD kripto standardı - AES (Gelişmiş Şifreleme Standardı).

    Standart GOST 28147-89

    GOST 28147-89 (Şekil 1) tarafından tanımlanan algoritmanın şifreleme anahtarı uzunluğu 256 bittir. Bilgileri 64 bitlik bloklar halinde şifreler (bu tür algoritmalara blok algoritmaları denir), bunlar daha sonra 32 bitlik iki alt bloğa (N1 ve N2) bölünür. N1 alt bloğu belirli bir şekilde işlenir, ardından değeri N2 alt bloğunun değerine eklenir (ekleme modulo 2 yapılır, yani. mantıksal işlem XOR - "özel veya") ve ardından alt bloklar değiştirilir. Bu dönüşüm algoritmanın çalışma moduna bağlı olarak belirli sayıda ("tur") 16 veya 32 kez gerçekleştirilir. Her turda iki işlem gerçekleştirilir.

    Birincisi anahtarlamadır. N1 alt bloğunun içeriği, Kx anahtarının 32 bitlik kısmı ile modulo 2'ye eklenir. Tam şifreleme anahtarı, 32 bitlik alt anahtarların birleşimi olarak temsil edilir: K0, K1, K2, K3, K4, K5, K6, K7. Şifreleme işlemi sırasında yuvarlak sayıya ve algoritmanın çalışma moduna bağlı olarak bu alt anahtarlardan biri kullanılır.

    İkinci işlem ise masa değişimidir. Anahtarlamadan sonra, N1 alt bloğu 4 bitlik 8 parçaya bölünür ve her birinin değeri, alt bloğun bu kısmı için değiştirme tablosuna göre değiştirilir. Alt blok daha sonra 11 bit sola doğru bit döndürülür.

    Tablo ikameleri(İkame kutusu - S-kutusu) modern şifreleme algoritmalarında sıklıkla kullanılır, bu nedenle böyle bir işlemin nasıl organize edildiğini açıklamaya değer. Blokların çıkış değerleri tabloya kaydedilir. Belirli bir boyuta sahip bir veri bloğunun (bizim durumumuzda 4 bit), çıkış değerinin sayısını belirleyen kendi sayısal temsili vardır. Örneğin, S-box 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 ve 4 bitlik blok “0100” gibi görünüyorsa girişe geldi (değer 4), o zaman tabloya göre çıkış değeri 15 olacaktır, yani. “1111” (0 a 4, 1 a 11, 2 a 2 ...).

    GOST 28147-89 tarafından tanımlanan algoritma dört çalışma modu sağlar: basit değiştirme, kumar, kumar geri bildirim ve taklit öneklerin üretilmesi. Yukarıda anlatılan şifreleme dönüşümünün aynısını kullanırlar ancak modların amacı farklı olduğundan bu dönüşüm her birinde farklı şekilde gerçekleştirilir.

    Modunda kolay değiştirme Her 64 bitlik bilgi bloğunu şifrelemek için yukarıda açıklanan 32 tur gerçekleştirilir. Bu durumda 32 bitlik alt anahtarlar aşağıdaki sırayla kullanılır:

    K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, vb. - 1'den 24'e kadar olan turlarda;

    K7, K6, K5, K4, K3, K2, K1, K0 - 25'ten 32'ye kadar olan turlarda.

    Kod çözme bu mod tamamen aynı şekilde gerçekleştirilir, ancak alt anahtarların kullanımı biraz farklı bir sırayla gerçekleşir:

    K0, K1, K2, K3, K4, K5, K6, K7 - 1'den 8'e kadar olan turlarda;

    K7, K6, K5, K4, K3, K2, K1, K0, K7, K6, vb. - 9'dan 32'ye kadar olan turlarda.

    Tüm bloklar birbirinden bağımsız olarak şifrelenir, yani her bloğun şifreleme sonucu yalnızca içeriğine (orijinal metnin karşılık gelen bloğu) bağlıdır. Orijinal (düz) metnin birkaç özdeş bloğu varsa, karşılık gelen şifreli metin blokları da aynı olacaktır; bu da ek özellikler sağlar. kullanışlı bilgi Bir şifreyi kırmaya çalışan bir kriptanalist için. Bu nedenle, bu mod esas olarak şifreleme anahtarlarının kendilerini şifrelemek için kullanılır (çoklu anahtar şemaları sıklıkla uygulanır, burada çeşitli nedenlerden dolayı anahtarlar birbirleri üzerinde şifrelenir). Diğer iki çalışma modu, bilginin kendisini şifrelemek için tasarlanmıştır - geri bildirimli gama ve gama.

    İÇİNDE gama modu Her düz metin bloğu, 64 bitlik bir şifre gama bloğuna bit modülo 2 eklenir. Gama şifresi, N1 ve N2 kayıtları ile yapılan belirli işlemler sonucunda elde edilen özel bir dizidir (bkz. Şekil 1).

    1. İlk doldurmaları, senkronizasyon mesajı adı verilen 64 bitlik bir değer olan N1 ve N2 kayıtlarına yazılır.

    2. N1 ve N2 kayıtlarının içerikleri şifrelenir ( bu durumda- mesajları senkronize edin) basit değiştirme modunda.

    3. N1 yazmacının içeriği C1 = 224 + 216 + 28 + 24 sabiti ile modulo (232 - 1) eklenir ve toplamanın sonucu N1 yazmacına yazılır.

    4. N2 yazmacının içeriği C2 = 224 + 216 + 28 + 1 sabiti ile modülo 232'ye eklenir ve toplamanın sonucu N2 yazmacına yazılır.

    5. N1 ve N2 yazmaçlarının içeriği, şifrenin 64 bitlik bir gama bloğu olarak çıkarılır (bu durumda, N1 ve N2, ilk gama bloğunu oluşturur).

    Bir sonraki gama bloğuna ihtiyaç duyulursa (yani şifreleme veya şifre çözmenin devam etmesi gerekiyorsa), 2. adıma geri döner.

    Şifre çözme için gama benzer şekilde üretilir ve ardından şifreli metin ve gama bitleri yeniden XORlanır. Bu işlem geri dönüşümlü olduğundan ölçeğin doğru geliştirilmesi durumunda orijinal metin (tablo) elde edilir.

    Gama modunda şifreleme ve şifre çözme

    Gamanın şifresini çözmek için gereken şifreyi geliştirmek için, kriptogramın şifresini çözen kullanıcının, bilgiyi şifrelerken kullanılan senkronizasyon mesajının aynı anahtarına ve aynı değerine sahip olması gerekir. Aksi takdirde şifrelenmiş metinden orijinal metnin elde edilmesi mümkün olmayacaktır.

    GOST 28147-89 algoritmasının çoğu uygulamasında senkronizasyon mesajı gizli değildir, ancak senkronizasyon mesajının şifreleme anahtarıyla aynı gizli unsur olduğu sistemler de vardır. Bu tür sistemler için, algoritmanın etkin anahtar uzunluğu (256 bit), aynı zamanda bir anahtar unsur olarak da değerlendirilebilecek gizli senkronizasyon mesajının 64 biti kadar artırılır.

    Geri besleme gama modunda, 2. bloktan başlayarak N1 ve N2 kayıtlarını doldurmak için kullanılan önceki gama bloğu değil, önceki düz metin bloğunun şifrelenmesinin sonucudur (Şekil 2). Bu moddaki ilk blok, bir öncekine tamamen benzer şekilde oluşturulur.

    Pirinç. 2. Gama modunda geri bildirimle bir şifre gamasının geliştirilmesi.

    Modu göz önünde bulundurarak taklit öneklerin üretilmesi Kuşak konusunun kavramı tanımlanmalıdır. Önek, bir şifreleme anahtarı kullanılarak hesaplanan ve mesajların bütünlüğünü doğrulamak için tasarlanmış bir şifreleme sağlama toplamıdır. Bir taklit öneki oluşturulurken, aşağıdaki işlemler gerçekleştirilir: Taklit önekinin hesaplandığı bilgi dizisinin ilk 64 bitlik bloğu, N1 ve N2 kayıtlarına yazılır ve azaltılmış basit değiştirme modunda şifrelenir ( 32 turun ilk 16'sı gerçekleştirilir). Ortaya çıkan sonuç, sonraki bilgi bloğuyla modulo 2'de toplanır ve sonuç N1 ve N2'de saklanır.

    Döngü son bilgi bloğuna kadar tekrarlanır. Bu dönüşümler sonucunda N1 ve N2 yazmaçlarının veya bunların bir kısmının ortaya çıkan 64 bitlik içeriklerine taklit öneki adı verilir. Taklit önekinin boyutu, mesajların gerekli güvenilirliğine göre seçilir: taklit öneki r bitlerinin uzunluğu ile, mesajdaki bir değişikliğin fark edilmeden gitme olasılığı 2-r'ye eşittir. 32 bit taklit öneki kullanılır, yani kayıtların içeriğinin yarısı kullanılır. Bu yeterlidir, çünkü herhangi bir sağlama toplamı gibi, taklit ek de öncelikle bilgilerin kazara bozulmasına karşı koruma amaçlıdır. Verilerin kasıtlı olarak değiştirilmesine karşı koruma sağlamak için diğer kriptografik yöntemler- öncelikle elektronik dijital imza.

    Bilgi alışverişinde bulunurken taklit öneki bir nevi ek araçlar kontrol. Herhangi bir bilgi şifrelendiğinde ve şifreli metinle birlikte gönderildiğinde düz metin için hesaplanır. Şifre çözüldükten sonra taklit önekin yeni değeri hesaplanır ve gönderilen değerle karşılaştırılır. Değerler eşleşmiyorsa bu, iletim sırasında şifreli metnin bozulduğu veya şifre çözme sırasında yanlış anahtarların kullanıldığı anlamına gelir. Taklit öneki, özellikle çoklu anahtar şemaları kullanılırken anahtar bilgilerinin doğru şifresinin çözülüp çözülmediğini kontrol etmek için kullanışlıdır.

    GOST 28147-89 algoritması çok güçlü bir algoritma olarak kabul edilir - şu anda açıklanması için başka bir algoritma önerilmemiştir etkili yöntemler yukarıda bahsedilen "kaba kuvvet" yönteminden daha iyidir. Yüksek güvenliği, öncelikle 256 bitlik büyük anahtar uzunluğu nedeniyle elde edilir. Gizli bir senkronizasyon mesajı kullanıldığında etkin anahtar uzunluğu 320 bit'e çıkar ve değiştirme tablosunun şifrelenmesi ilave bitler ekler. Ek olarak, kriptografik güç, GOST 28147-89'a göre 32 olması gereken dönüşüm turlarının sayısına bağlıdır (girdi verileri dağılımının tam etkisi 8 turdan sonra elde edilir).

    AES standardı

    Uzun süre gizli kalan GOST 28147-89 algoritmasından farklı olarak DES'in yerini almak üzere tasarlanan Amerikan AES şifreleme standardı, ilgilenen tüm kurum ve kişilerin aday algoritmaları inceleyip yorum yapabileceği açık bir yarışma yoluyla seçildi.

    DES'in yerini alacak bir yarışma 1997 yılında ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST - Ulusal Standartlar ve Teknoloji Enstitüsü) tarafından duyuruldu. Yarışmaya hem kriptografi alanında tanınmış kuruluşlar (RSA Security, Counterpane vb.) hem de bireyler tarafından geliştirilen 15 aday algoritma sunuldu. Yarışmanın sonuçları Ekim 2000'de açıklandı: Kazanan, Belçika'dan iki kriptograf Vincent Rijmen ve Joan Daemen tarafından geliştirilen Rijndael algoritması oldu.

    Rijndael algoritması, yapısı “Feistel ağı” olarak adlandırılan ve Rus GOST 28147-89'a benzeyen, bilinen çoğu simetrik şifreleme algoritmasına benzemez. Feistel ağının özelliği, giriş değerinin iki veya daha fazla alt bloğa bölünmesidir; bunların bir kısmı her turda belirli bir yasaya göre işlenir ve ardından işlenmemiş alt blokların üzerine bindirilir (bkz. Şekil 1).

    Yerli şifreleme standardından farklı olarak Rijndael algoritması, 4X4, 4X6 veya 4X8 boyutunda iki boyutlu bir bayt dizisi biçiminde bir veri bloğunu temsil eder (şifrelenmiş bilgi bloğunun birkaç sabit boyutunun kullanılmasına izin verilir). Tüm işlemler dizinin ayrı ayrı baytlarında ve ayrıca bağımsız sütunlar ve çizgiler.

    Rijndael algoritması dört dönüşüm gerçekleştirir: BS (ByteSub) - dizinin her baytının tablo değişimi (Şekil 3); SR (ShiftRow) - dizi satırlarının kaydırılması (Şekil 4). Bu işlemle, ilk satır değişmeden kalır ve geri kalanlar, dizinin boyutuna bağlı olarak döngüsel olarak bayt bayt sabit sayıda bayt sola kaydırılır. Örneğin 4X4'lük bir dizi için 2, 3 ve 4 numaralı satırlar sırasıyla 1, 2 ve 3 bayt kaydırılır. Daha sonra MC (MixColumn) gelir - bağımsız dizi sütunları üzerinde bir işlem (Şekil 5), her sütun belirli bir kurala göre sabit bir c(x) matrisiyle çarpılır. Ve son olarak AK (AddRoundKey) - bir anahtar ekleme. Dizinin her bir biti, yuvarlak anahtarın karşılık gelen biti ile modülo 2'ye eklenir ve bu da, şifreleme anahtarından belirli bir şekilde hesaplanır (Şekil 6).


    Pirinç. 3. BS Operasyonu.

    Pirinç. 4. SR Operasyonu.

    Pirinç. 5. MC Operasyonu.

    Rijndael algoritmasındaki şifreleme turlarının (R) sayısı değişkendir (10, 12 veya 14 tur) ve blok boyutuna ve şifreleme anahtarına bağlıdır (ayrıca anahtar için birkaç sabit boyut vardır).

    Şifre çözme aşağıdaki ters işlemler kullanılarak gerçekleştirilir. Ters tabloda (şifreleme sırasında kullanılana göre) bir tablo ters çevirme ve tablo değiştirme gerçekleştirilir. SR'nin tersi işlem, satırları sola değil sağa döndürmektir. MC için ters işlem, aynı kuralları kullanarak şu koşulu karşılayan başka bir d(x) matrisiyle çarpmadır: c(x) * d(x) = 1. AK anahtarının eklenmesi kendisinin tersidir, çünkü yalnızca XOR'u kullanır. operasyon. Bu ters işlemler, şifre çözme sırasında şifreleme sırasında kullanılanların tersi sırayla uygulanır.

    Rijndael, diğer algoritmalara göre bir takım avantajları nedeniyle veri şifrelemede yeni standart haline geldi. Her şeyden önce, tüm platformlarda yüksek şifreleme hızı sağlar: hem yazılım hem de donanım uygulaması. Yarışmaya sunulan diğer algoritmalarla karşılaştırıldığında, hesaplamaları paralelleştirme konusunda kıyaslanamayacak kadar daha iyi olanaklarla öne çıkıyor. Ek olarak, çalışması için kaynak gereksinimleri minimum düzeydedir ve bu, sınırlı bilgi işlem kapasitesine sahip cihazlarda kullanıldığında önemlidir.

    Algoritmanın tek dezavantajı, doğası gereği alışılmadık şeması olarak düşünülebilir. Gerçek şu ki, Feistel ağına dayalı algoritmaların özellikleri iyi araştırılmıştır ve Rijndael ise tam tersine, yaygın kullanımının başlamasından bu yana bir süre geçtikten sonra keşfedilebilecek gizli güvenlik açıkları içerebilir.

    Asimetrik şifreleme

    Asimetrik şifreleme algoritmaları, daha önce de belirtildiği gibi, iki anahtar kullanır: k1 - şifreleme anahtarı veya genel ve k2 - şifre çözme anahtarı veya sır. Genel anahtar gizliden hesaplanır: k1 = f(k2).

    Asimetrik şifreleme algoritmaları tek yönlü işlevlerin kullanımına dayanmaktadır. Tanıma göre, bir y = f(x) fonksiyonu aşağıdaki durumlarda tek yönlüdür: tüm durumlar için hesaplanması kolaydır olası seçenekler x ve y'nin olası çoğu değeri için, y = f(x) olacak şekilde bir x değeri hesaplamak oldukça zordur.

    Tek yönlü fonksiyona örnek olarak iki büyük sayının çarpımı gösterilebilir: N = P*Q. Bu çarpma işlemi kendi başına basit bir işlemdir. Bununla birlikte, modern zaman tahminlerine göre çarpanlara ayırma adı verilen ters fonksiyon (N'nin iki büyük faktöre ayrıştırılması) oldukça karmaşık bir matematik problemidir. Örneğin, P'de 664 bit boyutunda N'yi çarpanlara ayırma? Q yaklaşık 1023 işlem gerektirecektir ve bilinen a, p ve y (aynı a ve p boyutlarıyla) ile modüler üs y = ax mod p için x'i ters olarak hesaplamak için yaklaşık 1026 işlem gerçekleştirmeniz gerekir. Verilen son örnek Ayrık Logaritma Problemi (DLP) olarak adlandırılmaktadır ve bu tür bir fonksiyon sıklıkla asimetrik şifreleme algoritmalarında ve ayrıca elektronik dijital imza oluşturmak için kullanılan algoritmalarda kullanılmaktadır.

    Asimetrik şifrelemede kullanılan bir diğer önemli işlev sınıfı, tek yönlü arka kapı işlevleridir. Tanımları, bir fonksiyonun tek yönlü olması durumunda bir arka kapıya sahip olduğunu ve ters fonksiyonu x = f-1(y) verimli bir şekilde hesaplamanın mümkün olduğunu, yani "arka kapı" (asimetrik şifreleme için uygulanan bazı gizli numaralar) ise, tek yönlü olduğunu belirtir. algoritmalar - gizli anahtarın değeri).

    Yaygın olarak kullanılan asimetrik şifreleme algoritması RSA'da tek yönlü arka kapı fonksiyonları kullanılmaktadır.

    RSA algoritması

    1978 yılında üç yazar (Rivest, Shamir, Adleman) tarafından geliştirilen bu program, adını geliştiricilerin soyadlarının ilk harflerinden almıştır. Algoritmanın güvenilirliği büyük sayıları çarpanlarına ayırmanın ve ayrık logaritmaları hesaplamanın zorluğuna dayanmaktadır. Ana parametre RSA algoritması- sistemdeki tüm hesaplamaların buna göre yapıldığı sistem N modülü ve N = P*Q (P ve Q gizli rastgele basit büyük sayılar, genellikle aynı boyutta).

    Gizli anahtar k2 rastgele seçilir ve aşağıdaki koşulları karşılaması gerekir:

    1

    burada GCD en büyük ortak bölendir, yani k1, Euler fonksiyonu F(N)'nin değerine eş asal olmalıdır; ikincisi, 1'den N'ye kadar eş asaldan N'ye kadar olan aralıktaki pozitif tam sayıların sayısına eşittir ve şu şekilde hesaplanır: F(N) = (P - 1)*(Q - 1).

    Genel anahtar k1 şu ilişkiden hesaplanır: (k2*k1) = 1 mod F(N) ve bu amaçla genelleştirilmiş Öklid algoritması (en büyük ortak böleni hesaplama algoritması) kullanılır. M veri bloğunun RSA algoritması kullanılarak şifrelenmesi şu şekilde gerçekleştirilir: C=M [k1 gücüne] mod N. RSA kullanan gerçek bir şifreleme sisteminde k1 sayısı çok büyük olduğundan (şu anda boyutu 2048 bit'e kadar çıkabilmektedir), M'nin doğrudan hesaplanmasına dikkat edin. [k1 gücüne] gerçek dışı. Bunu elde etmek için, M'nin tekrarlanan karesinin alınması ve sonuçların çarpılmasının bir kombinasyonu kullanılır.

    Bu fonksiyonun büyük boyutlar için tersine çevrilmesi mümkün değildir; yani bilinen C, N ve k1 değerleri verildiğinde M'yi bulmak imkansızdır. Bununla birlikte, k2 gizli anahtarına sahip olarak, basit dönüşümler kullanılarak M = Ck2 mod N hesaplanabilir. Açıkçası, gizli anahtarın kendisine ek olarak, P ve Q parametrelerinin gizliliğinin de sağlanması gerekir. Bir saldırgan bunların değerlerini elde ederse k2 gizli anahtarını hesaplayabilecektir.

    Hangi şifreleme daha iyi?

    Simetrik şifrelemenin ana dezavantajı, anahtarların "elden ele" aktarılması gereğidir. Bu dezavantaj çok ciddidir çünkü sınırsız sayıda katılımcının olduğu sistemlerde simetrik şifrelemenin kullanılmasını imkansız hale getirir. Bununla birlikte, aksi takdirde simetrik şifrelemenin, asimetrik şifrelemenin ciddi dezavantajlarının arka planında açıkça görülebilen bazı avantajları vardır.

    Bunlardan ilki, kaynak yoğun operasyonların varlığından dolayı şifreleme ve şifre çözme işlemlerinin hızının düşük olmasıdır. Bir diğer “teorik” dezavantaj ise asimetrik şifreleme algoritmalarının kriptografik gücünün matematiksel olarak kanıtlanmamış olmasıdır. Bu öncelikle ayrık logaritma probleminden kaynaklanmaktadır - kabul edilebilir bir sürede çözümünün imkansız olduğu henüz kanıtlanmamıştır. Genel anahtarları başkasıyla değiştirilmeye karşı koruma ihtiyacı da gereksiz zorluklar yaratır; yasal bir kullanıcının genel anahtarını değiştirerek, bir saldırgan önemli bir mesajı kendi genel anahtarıyla şifreleyebilir ve ardından özel anahtarıyla şifresini kolayca çözebilir.

    Ancak bu eksiklikler asimetrik şifreleme algoritmalarının yaygın kullanımına engel değildir. Bugün, genel anahtarların sertifikasyonunu destekleyen, ayrıca simetrik ve asimetrik şifreleme algoritmalarını birleştiren kriptosistemler var. Ancak bu ayrı bir makalenin konusu.

    Ek bilgi kaynakları

    Yazar, şifrelemeyle ciddi olarak ilgilenen okuyucuların aşağıdaki kitapların yardımıyla ufuklarını genişletmelerini tavsiye ediyor.

    1. Brassard J. "Modern kriptoloji."
    2. Petrov A. A. "Bilgisayar güvenliği: kriptografik koruma yöntemleri."
    3. Romanets Yu.V., Timofeev P.A., Shangin V.F. "Modern bilgisayar sistemlerinde bilgilerin korunması."
    4. Sokolov A.V., Shangin V.F. "Dağıtılmış kurumsal ağlarda ve sistemlerde bilgilerin korunması."

    Şifreleme algoritmalarının tam bir açıklamasını aşağıdaki belgelerde bulabilirsiniz:

    1. GOST 28147-89. Bilgi işleme sistemi. Şifreleme koruması. Kriptografik dönüştürme algoritması. - M .: SSCB Devlet Standardı, 1989.
    2. AES algoritması: http://www.nist.gov/ae.
    3. RSA algoritması: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.