Kayıtlar

Kasım, 2015 tarihine ait yayınlar gösteriliyor

Visual proofs of Hohha Dynamic XOR Encryption Algorithm

Resim
In order to better understand the meaning of those images and to compare Hohha Dynamic XOR with other algorithms, please visit the great article of Derek Zimmer at  https://vikingvpn.com/blogs/security/visualizing-weak-encryption-experiments-with-aes  about the subject Orjinal Image: Viking Viking Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=64
Viking Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=128
Viking Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=256
Viking Encrypted with Hohha Dynamic XOR Jumps=3 Key Body=64
Viking Encrypted with Hohha Dynamic XOR Jumps=3 Key Body=128
Viking Encrypted with Hohha Dynamic XOR Jumps=3 Key Body=256

Original image: Panda
Panda Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=64
Panda Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=128
Panda Encrypted with Hohha Dynamic XOR Jumps=2 Key Body=256
Panda Encrypted with Hohha Dynamic XOR Jumps=3 Key Body=64
Panda Encrypted with Hohha Dynamic XOR Jumps=3 Key Body=128
Panda Encrypted with Ho…

Hohha Dynamic XOR Encryption Algorithm Logic

Until today, we were looking from the "wrong side" I guess.
We were all thinking that we must have a "fixed" key which must never change!
Why?

I begun to ask that question: "Why the key must be fixed?" and changed the paradigm.
And I decided to dynamically update the key in encyption and decryption process.

The essential logic of the algorithm is using the key as a "jump table" which is dynamically updated with every "jump" we make.

To understand better how it functions, suppose that we don't have a complex function.

Given the key body length(L) is a power of 2, and M is an integer to tell us where we are in the "key body":

We just take the byte at position M of the key body, we XOR that byte with the byte to be encrypted(X).
We increase the byte at position M and "jump to" (M+X)%L

So, every time we encrypt a byte, we also change the key. It's a bit more complicated than this. But essentially this is the bas…

Hohha Dynamic XOR Algorithm Source Code

The source code is moved to GitHub in order to work collaboratively:

https://github.com/ikizir/HohhaDynamicXOR/tree/master

En çok kullanılan şifreleme standardı AES de kırılmış!

Inet-tr 2015 için hazırladığım makaleyi yazarken her gün yeni birşey öğreniyorum.
Tezgahtaki programı bir yana bıraktım, kamuya açtığım algoritmayı geliştirmeye odaklandım.
Akademisyenlerden, kendi algoritmamın açıklarını gösterenler oluyor, kapatmaya çalışıyorum. Örneğin, bugün bir akademisyen dostum, şifreleme anahtarında bir iki bitlik bir değişimin bile tüm şifreli metni değiştirmesi gerektiğini aksi taktirde, "İlişkili anahtar saldırısı"na (Related Key Attack) karşı duyarlı olacağını söyledi. Bugün, buna da bir çare geliştirdim.
Kesin olmamakla birlikte, teorik başka bir açık olabileceği de söylendi. Her ne kadar, bu açık, anahtar hakkında bilgi sahibi olmayı gerektiriyorsa da, üzerinde düşünüp araştırma yaparken, çok ilginç bilgilere rastladım:

http://link.springer.com/chapter/10.1007%2F3-540-45708-9_2

adresinde, Amerikan Hükümeti'nin gizli belgeler için kullanmayı tavsiye ettiği AES algoritmasının CBC modunun kırıldığı ispatlanıyor! Bankalara, devlet dairelerine …

Lack of a very important instruction in modern CPUs: "Test and Reset"

Lack of a very important instruction in modern CPUs: "Test and Reset"

I am not sure if it already exists, but during my benchmarks, I felt a lot lack of a "Test Limit and reset" instruction for counter implementation on CPUs.

if (++Counter == N)
Counter=0;
has a very high cost due to jmp instruction cost

The modulus operation has a higher cost than jmp. It is not an option either.

Briefly, this instruction will take two parameters:

Memory or register
Value

and

will set [Memory Or Register] to 0 if [Memory Or Register] == Value

Using & operation as in the example below, is the best solution. But it requires to work with numbers which are power of 2.

Counter = ++Counter;
Counter &= 256;

I thought such an important and simple operand existed but I surprisingly couldn't find it during my researches.
I believe this simple instruction will speed up a lot of softwares.

Internet üzerinde mahremiyet ve kullacının mahremiyetini kendisine karşı güvence altına alan bir yazılım pratiği: Hohha anlık mesajlaşma servisi

Internet üzerinde mahremiyet ve kullacının mahremiyetini kendisine karşı güvence altına alan bir yazılım pratiği: Hohha anlık mesajlaşma servisi
İsmail Kizir1 1Hohha Internet Services Ltd. Teknolojiden Sorumlu Başkanı, Siyaset Bilimci ikizir@gmail.com Özet: Haberleşme özgürlüğü ve mahremiyeti modern dünyada tüm demokratik devletlerin anayasalarının olmazsa olmaz maddelerinden biridiri. Dünyada, kamuoyunun gündeminde gittikçe daha fazla yer eden “internette mahremiyet” konusunu kısaca özetledikten sonra, “Hohha anlık mesajlaşma” uygulaması ve bu uygulamanın üstüne bina edildiği özgün algoritmalar ele alınarak, kişisel mesajların mahremiyetinin hangi yöntemlerle güvence altına alındığı işlenecektir. Söz konusu yazılım için tasarlanan ve MIT lisansı ile kamuya açılan, anahtarın da şifrelenen metin ile değiştiği, özgün “Hohha Dinamik XOR” algoritmasının çalışma mantığı masaya yatırılacaktır. Anahtar Sözcükler: Mahremiyet, şifreleme, Hohha Dinamik XOR, simetrik şifreleme, RSA, anlık mesajlaşma …