diff --git a/README.md b/README.md
index 0a25b0f..8315a18 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ to make a jar file, or
to run it right away.
-2. Manually compile. We still have the issue that texts aren't read into the program if you compile normally, so this is not recommended. However this works without having to aditionally install anything.
+2. Manually compile. We still have the issue that texts aren't read into the program if you compile normally, so this is not recommended. However this works without having to additionally install anything.
> ~//MonkeyCrypt/src/$ **javac Run.java**
>
diff --git a/src/crypt/cryptanalysis/Haeufigkeitsanalyse.java b/src/crypt/cryptanalysis/Haeufigkeitsanalyse.java
index e11e789..62a661f 100644
--- a/src/crypt/cryptanalysis/Haeufigkeitsanalyse.java
+++ b/src/crypt/cryptanalysis/Haeufigkeitsanalyse.java
@@ -59,10 +59,16 @@ public String analysieren(String text) {
String [] keys = (String[]) set_keys.toArray(new String[0]);
String newString = "";
for (int i = 0; i < dict.size(); i ++) {
- newString += "\"" + keys[i] + "\"" + "\t" + dict.get(keys[i]).toString();
- if(i != dict.size() - 1) {
- newString += "\n";
- }
+ Integer anzahl = dict.get(keys[i]);
+ newString += "\"" + keys[i] + "\"" + "\t" + anzahl.toString();
+ if(i != dict.size()) {
+ for (int j = 0; j < 50; j ++) {
+ if(((double) anzahl/text.length())*100-2*j > 0) {
+ newString += "#";
+ }
+ }
+ newString += "\n";
+ }
}
return newString;
}
diff --git a/src/frame/MoCr_Frame.java b/src/frame/MoCr_Frame.java
index 7a99470..4eb43eb 100644
--- a/src/frame/MoCr_Frame.java
+++ b/src/frame/MoCr_Frame.java
@@ -1812,7 +1812,7 @@ private void ToolsmenuMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:e
default: break;
}
}
- localToolWin.renew(key, ciph);
+ //localToolWin.renew(key, ciph);
}//GEN-LAST:event_ToolsmenuMouseClicked
/**
diff --git a/src/img/German-modifiedBanners/.gitkeep b/src/img/German-modifiedBanners/.gitkeep
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/src/img/German-modifiedBanners/.gitkeep
@@ -0,0 +1 @@
+
diff --git a/src/img/pl/Schriftzug Codierungen.png b/src/img/pl/Schriftzug Codierungen.png
new file mode 100644
index 0000000..52ddd30
Binary files /dev/null and b/src/img/pl/Schriftzug Codierungen.png differ
diff --git a/src/text/did/en/bi-language_did.html b/src/text/did/en/bi-language_did.html
new file mode 100644
index 0000000..04b0a00
--- /dev/null
+++ b/src/text/did/en/bi-language_did.html
@@ -0,0 +1,13 @@
+
+
+
+ Bi-Language
+Habillobi!
+I am Joachim. Joachim Ringelnatz. Well, actually my name is Hans Bötticher. But Ringelnatz sounds way funnier, don't you think? Do you know what sounds funny? If you append "bi" behind each vowel of a word. Try it!
+Originally, the bi-language was part of a special German dialect. They did this to seperate their language from the Buttians. While the Buttjersprache has its own vocabulary and many rules, such as the bi language, as you have learned, is quite simple and sounds quite incomprehensible, if you speak it quickly!
+The bi language is very similar to other game languages, e.g. the B language. A "b" is inserted behind each vowel, and the same vowel is inserted again.
+
klibingt dabann sobo!
+
What do I have to do with the game language, you ask? Well, I did not invent them, but in my poem, "poem in bi language", it was made famous. However, in some places I didn't quite follow all the rules, because in poetry everything is allowed. Maybe you can find out where a fault is?
+
+
+
diff --git a/src/text/did/en/otp_did.html b/src/text/did/en/otp_did.html
index ba6db28..d00b7e6 100644
--- a/src/text/did/en/otp_did.html
+++ b/src/text/did/en/otp_did.html
@@ -2,6 +2,17 @@
The One-Time-Pad
-This is the learning panel for the one-time pad.
+The one-time pad is famous as being the only completely unbreakable cipher. Assuming that the secret pad is randomly generated, not-reused (hence "one-time pad"), and not leaked, it is impossible to learn a single bit of the plaintext of a message from a ciphertext.
+
+Encryption and decryption with the One-Time Pad
+The theory behind the OTP is that the encryption key has at least the same length as the actual message (i.e. the plaintext) and consists of truely random numbers. Each letter of the plaintext undergoes XOR operation with one element from the OTP. This results in a ciphertext that has no relation with the plaintext when the key is unknown. At the receiving end, the same OTP is used to retrieve the original plaintext. For this to work, the following rules are mandatory:
+
+ - The OTP should consist of truely random characters (noise).
+ - The OTP (i.e. the key) should have the same length as the plaintext (or longer).
+ - Only two copies of the OTP should exist.
+ - The OTP should be used only once.
+ - Both copies of the OTP are destroyed immediately after use.
+
+
\ No newline at end of file
diff --git a/src/text/did/en/rsa_did.html b/src/text/did/en/rsa_did.html
index b304d73..c90bf1f 100644
--- a/src/text/did/en/rsa_did.html
+++ b/src/text/did/en/rsa_did.html
@@ -2,18 +2,18 @@
The RSA procedure
-Imagine a padlock.
-This is a kind of lock that locks when you click it (i.e it doesn't require a key) but requires the key to open the lock.
+Imagine a padlock.
+This is a kind of lock that locks when you click it (i.e it doesn't require a key) but requires the key to open the lock.
-So, I can send these padlocks to all my friends who want to communicate with me.
-I will send them only the lock but will keep the key with me.
+So, I can send these padlocks to all my friends who want to communicate with me.
+I will send them only the lock but will keep the key with me.
-My friends can write me messages, put it in a box, lock it with my padlock (by clicking it) and send it to me, even over high risk networks.
-If the box is intercepted, it's contents will not be compromised since I still have the key with me.
+My friends can write me messages, put it in a box, lock it with my padlock (by clicking it) and send it to me, even over high risk networks.
+If the box is intercepted, it's contents will not be compromised since I still have the key with me.
-When the box reaches me, I can open my padlock with my key and read the contents.
+When the box reaches me, I can open my padlock with my key and read the contents.
This way, I can send padlocks (public keys) to people outside which they can use to lock boxes (encrypt messages) without being in danger of the contents being compromised as the padlock key (the private key) is always with me and never exchanged over the network.
-
-Source : https://www.quora.com/How-do-you-explain-how-an-RSA-public-key-works-to-a-child
+
+Source : https://www.quora.com/How-do-you-explain-how-an-RSA-public-key-works-to-a-child
diff --git a/src/text/local/Bundle_bn_BD.properties b/src/text/local/Bundle_bn_BD.properties
new file mode 100644
index 0000000..cc3ad05
--- /dev/null
+++ b/src/text/local/Bundle_bn_BD.properties
@@ -0,0 +1,94 @@
+settings=সেটিংস
+credits=ক্রেডিট
+input=ইনপুট
+output=আউটপুট
+key=কী
+learn=শিখুন
+exercise=অনুশীলন
+invert=ইনপুট পরিবর্তন
+help=সাপোর্ট দেখুন
+generateKey=কী তৈরি
+trans1=কলামনার ট্রান্সপোজিশন
+trans2=রেইলেন্স ট্রান্সপোজিশন
+trans3=অ্যানাগ্রাম
+trans4=ডাবল কলামনার ট্রান্সপোজিশন
+trans5=ট্রান্সপোজিশন বনাম পারমুটেশন-ম্যাট্রিক্স
+keys=কী গুলি
+keymatrix=কী ম্যাট্রিক্স
+matrixsize=বর্তমান ম্যাট্রক্স সাইজ
+code1=মোর্স-কোড
+code2=হেক্সাডেসিমাল-কোড
+code3=বাইনারি-কোড
+code4=হেক্সাডেসিমাল -> বাইনারি-কোড
+code5=অ্যালফাবেট-ইন্ডক্স-কোড
+code6=স্পেলিং অ্যালফাবেট(ন্যাটো)
+code7=আডিফজিক্স-কোড
+fill=ফিল
+fun1=বাইল্যাঙ্গুয়েজ
+fun2=বব-ল্যাংগুয়েজ
+fun3=স্পুন-ল্যাংগুয়েজ
+stegano1=বেকন-চিপার
+stegano2=সিউডো-টেক্সট
+baconhead=বেকন-সাইফার টেক্সটের জন্য কভারিং টেক্সট
+keychar=কী ক্যারেক্টেরস
+function=ফাংশন
+distribution=ক্যারেক্টারের ডিস্ট্রিবিউশন গণনা
+caesar=সিজার-সাইফার
+multi=মালটিপ্লিকেটিভ-সাইফার
+vigenere=ভিগেনার-সাইফার
+otp=ওয়ান টাইম-প্যাড
+transpositions=ট্রান্সপোজিশন
+code=এনকোডিংস
+fun= ফান-ল্যাংগুয়েজেস
+hill=হিল সাইফার
+steganography=স্টেগানোগ্রাফি
+affine=অ্যাফাইন সাইফার
+cryptoanalysis=ক্রিপ্টো এনালাইসিস
+maths=ম্যাথেমেটিক্স
+cryptology=ক্রিপ্টোলজি
+cryptography=ক্রিপ্টোগ্রাফি
+assym=অ্যাসিমেট্রিকাল
+RSA=আর-এস-এ
+ete=এন্ড-টু-এন্ড
+sym=সিমেট্রিকাল
+sub=সাবস্টিটিউশন
+cipher=এঙ্ক্রিপশন
+mono=মনোঅ্যালফাবেটিকাল
+poly=পলিঅ্যালফাবেটিকাল
+enigma=এনিগমা
+back=মেইন প্রগ্রামে ফিরুন
+changeAlph=অ্যালফাবেট পরিবর্তন
+baseAlph= অ্যালফাবেট ফিরান
+encryption=এঙ্ক্রিপশন
+show= প্রেজেন্টেশন
+framecol=ঊইন্ডোকালার
+scriptsize=ফন্ট সাইজ
+lang=লান্যগুয়েজ
+tip=টিপস সক্রিয়
+resize=রিসাইজাবিলিটি সক্রিয়
+blue=ব্লু
+green=সবুজ
+yellow=হলুদ
+pink=পিংক
+empty1=ক্লিয়ার নেই
+empty2=সবকিছু ক্লিয়ার
+empty3=লোকাল ফিল্ড ক্লিয়ার
+empty4=সব কী ফিল্ড ক্লিয়ার
+empty5=ইনপুট-আউটপুট ক্লিয়ার
+savechanges=পরিবর্তন সেইভ
+tt1=টেক্সট লিখুন
+tt2=আপনার এন/ডীক্রিপ্টেড টেক্সট এখানে দেখুন
+tt3=এঙ্ক্রিপ্ট
+tt4=ডীক্রিপ্ট
+tt5=এই এঙ্ক্রিপশন সম্পর্কে আর জানুন
+tt6=উদাহারন টেক্সট সমাধান করে অনুশীলন
+tt7=আউটপুট থেকে ইনপুটে টেক্সট সুইচ
+tt8=সাহায্য দরকার? ক্লিক করুন?
+exclusion=বাদ দিন
+exclude=নিম্নোক্ত ক্যারেক্টারগুলো বাদ দিনঃ
+alphonly=শুধু অ্যালফাবেট অন্তর্ভুক্ত করুন
+script1=আপারকেস/লোয়ারকেস রাখুন
+script2=বড়অক্ষরে আউটপুট
+script3=ছোট অক্ষরে আউটপুট
+script4=র্যান্ডম বড় অক্ষর /ছোট অক্ষর
+tools=টুলস
diff --git a/src/text/local/Bundle_ka_GE.properties b/src/text/local/Bundle_ka_GE.properties
new file mode 100644
index 0000000..e4c989a
--- /dev/null
+++ b/src/text/local/Bundle_ka_GE.properties
@@ -0,0 +1,94 @@
+settings=პარამეტრები
+credits=კრედიტები
+input=შეტანა
+output=გამოტანა
+key=გასაღები
+learn=სწავლება
+exercise=სავარჯიშო
+invert=შეტანის შეცვლა
+help=მხარდაჭერის ჩვენება
+generateKey=გასაღების გენერაცია
+trans1=სვეტური ტრანსპოზიცია
+trans2=რკინიგზის ტრანსპოზიცია
+trans3=ანაგრამა
+trans4=ორმაგი სვეტური ტრანსპოზიცია
+trans5=ტრანსპოზიცია პერმუტაციის მატრიცის მეშვეობით
+keys=გასაღებები
+keymatrix=გასაღები-მატრიცა
+matrixsize=მატრიცის მიმდინარე ზომა
+code1=მორზეს კოდი
+code2=თექვსმეტობითი კოდი (ASCII)
+code3=ორობითი კოდი
+code4=თექვსმეტობითი -> ორობითი
+code5=ანბანური ინდექსის კოდი
+code6=მართლწერის ანბანი (NATO)
+code7=ADFGX კოდი
+fill=შევსება
+fun1=ბი-ენა
+fun2=ბობ-ენა
+fun3=კოვზ-ენა
+stegano1=Bacon შიფრაცია
+stegano2=ფსევდო-ტექსტი
+baconhead=დაფარვის ტექსტი Bacon-ის შიფრაციისთვის
+keychar=ძირითადი სიმბოლოები
+function=ფუნქცია
+distribution=გამოთვალეთ სიმბოლოების განაწილება!
+caesar=კეისრის შიფრაცია
+multi=მულტიპლიკაციური შიფრაცია
+vigenere=Vigenere შიფრაცია
+otp=ერთჯერადი პადირება
+transpositions=ტრანსპოზიციები
+code=კოდირებები
+fun=მხიარული ენები
+hill=Hill შიფრაცია
+steganography=სტეგანოგრაფია
+affine=Affine შიფრაცია
+cryptoanalysis=კრიპტოანალიზი
+maths=მათემატიკა
+cryptology=კრიპტოლოგია
+cryptography=კრიპტოგრაფია
+assym=ასიმეტრიული
+RSA=RSA
+ete=ბოლოდან-ბოლომდე
+sym=სიმეტრიული
+sub=ცვლილება
+cipher=შიფრაცია
+mono=მონოალფაბეტიური
+poly=პოლიალფაბეტიური
+enigma=ენიგმა
+back=პროგრამაში დაბრუნება
+changeAlph=ანბანის შეცვლა
+baseAlph=ანბანის აღდგენა
+encryption=შიფრაცია
+show=პრეზენტაცია
+framecol=ფანჯრის ფერი
+scriptsize=ფონტის ზომა
+lang=ენა
+tip=რჩევები გააქტიურებულია
+resize=ზომის ცვლილება გააქტიურებულია
+blue=ლურჯი
+green=მწვანე
+yellow=ყვითელი
+pink=ვარდისფერი
+empty1=არაფრის გასუფთავება
+empty2=ყველაფრის გასუფთავება
+empty3=ადგილობრივი ველების გასუფთავება
+empty4=ყველა გასაღებური ველის გასუფთავება
+empty5=შეტანა/გამოტანის გასუფთავება
+savechanges=ცვლილებების შენახვა
+tt1=ჩასვით თქვენი ტექსტი აქ
+tt2=თქვენი დაშიფრული/გაშიფრული ტექსტი ნაჩვენებია აქ
+tt3=დაშიფვრა
+tt4=გაშიფვრა
+tt5=შეიტყვეთ უფრო მეტი ამ შიფრაციის შესახებ
+tt6=ივარჯიშეთ პრობლემების გადაჭრის მაგალითზე
+tt7=გამოტანის ტექსის შეტანის ტექსტით ჩანაცვლება
+tt8=გჭირდება დახმარება? დააკლიკე აქ
+exclusion=გამონაკლისი
+exclude=გამორიცხეთ შემდეგი სიმბოლოები:
+alphonly=მხოლოდ ანბანის ასოები
+script1=შეინახეთ მაღალ/დაბალ რეგისტრში
+script2=დიდი ასოებით გამოტანა
+script3=პატარა ასოებით გამოტანა
+script4=შემთხვევითი მაღალი/დაბალი რეგისტრი
+tools=ინსტრუმენტები
diff --git a/src/text/local/Bundle_pt_BR.properties b/src/text/local/Bundle_pt_BR.properties
index 8640008..82020f1 100644
--- a/src/text/local/Bundle_pt_BR.properties
+++ b/src/text/local/Bundle_pt_BR.properties
@@ -1,26 +1,26 @@
-settings=Configuraes
+settings=Configurações
credits=Creditos
input=Entrada
output=Saida
key=Chave
learn=Aprender
-exercise=Exerccio
+exercise=Exercício
invert=Alterar entrada
help=Exibir suporte
generateKey=Gerar Chave
-trans1=Transposio de Coluna
-trans2=Transposio de Linha
+trans1=Transposiçãoo de Coluna
+trans2=Transposição de Linha
trans3=Anagrama
-trans4=Dupla transposio de Coluna
-trans5=Transposio via permutao de matriz
+trans4=Dupla transposição de Coluna
+trans5=Transposição via permutação de matriz
keys=Chaves
keymatrix=Matriz chave
matrixsize=Tamanho atual da matriz
-code1=Cdigo Morse
-code2=Cdigo Hexadecimal (ASCII)
-code3=Cdigo Binario
+code1=Código Morse
+code2=Código Hexadecimal (ASCII)
+code3=Código Binario
code4=Hexadecimal -> Binario
-code5=Cdigo de ndice alfabtico
+code5=Código de Índice alfabético
code6=Spelling alphabet (NATO)
code7=ADFGX-Code
fill=Preencher
@@ -29,66 +29,66 @@ fun2=Linguagem Bob
fun3=Linguagem Spoon
stegano1=Cifra de Bacon
stegano2=Pseudo texto
-baconhead=Cobrindo texto para a codificao de bacon
+baconhead=Cobrindo texto para a codificação de bacon
keychar=Personagens principais
-function=Funes
-distribution=Calcule a distribuio de caracteres!
+function=Funções
+distribution=Calcule a distribuição de caracteres!
caesar=Cifra de Caesar
multi=Cifra Multiplicativa
vigenere=Cifra de Vigenere
- otp=One-Time-Pad
-transpositions=Transposio
-code=Codificaes
+ otp=Bloco de uso único
+transpositions=Transposição
+code=Codificações
fun=Linguagens divertidas
hill=Cifra da Colina
steganography=Esteganografia
affine=Cifra Afim
- cryptoanalysis=Cryptoanalysis
- maths=Mathematics
- cryptology=Cryptology
- cryptography=Cryptography
- assym=Asymmetrical
+ cryptoanalysis=Criptoanálise
+ maths=Matemática
+ cryptology=Criptologia
+ cryptography=Criptografia
+ assym=Assimétrica
RSA=RSA
- ete=End-to-End
- sym=Symmetrical
- sub=Substitution
- cipher=Encryption
- mono=Monoalphabetical
- poly=Polyalphabetical
+ ete=Ponta-a-ponta
+ sym=Simétrica
+ sub=Substituição
+ cipher=Encriptação
+ mono=Monoalfabético
+ poly=Polialfabético
enigma=Enigma
- back=Return to main program
- changeAlph=Change alphabet
- baseAlph=Restore alphabet
- encryption=Encryption
- show=Presentation
- framecol=Windowcolour
- scriptsize=Fontsize
+ back=Retornar ao programa principal
+ changeAlph=Mudar alfabeto
+ baseAlph=Restaurar alfabeto
+ encryption=Encriptação
+ show=Apresentação
+ framecol=Cor da janela
+ scriptsize=Tamanho da fonte
lang=Linguagem
- tip=Tips activated
- resize=Resizability activated
+ tip=Dicas ativadas
+ resize=Redimensionabilidade ativada
blue=Azul
green=Verde
yellow=Amarelo
pink=Rosa
- empty1=Clear none
- empty2=Clear everything
- empty3=Clear local fields
- empty4=Clear all key fields
- empty5=Clear in-/output
-savechanges=Salvar alteraes
+ empty1=Limpar nenhum
+ empty2=Limpar tudo
+ empty3=Limpar campos locais
+ empty4=Limpar todos campos chave
+ empty5=Limpar entrada/saída
+savechanges=Salvar alterações
tt1=Insira seu texto aqui
- tt2=Your en-/decrypted text is shown here
+ tt2=Seu texto criptografado/descriptografado é exibido aqui
tt3=Encriptar
tt4=Desencriptar
- tt5=Learn more about this encryption
- tt6=Exercise by solving example texts
- tt7=Switches the text from the output to the input
- tt8=Do you need help? Click here
- exclusion=Exclusion
- exclude=Exclude following characters:
- alphonly=Include alphabet only
- script1=Keep uppercase/lowercase
- script2=Output in capital letters
- script3=Output in lower case letters
- script4=Random uppercase/lowercase
-tools=Ferramentas
+ tt5=Saiba mais sobre essa encriptação
+ tt6=Aprenda resolvendo textos de exemplo
+ tt7=Alterna o texto da saída para a entrada
+ tt8=Precisa de ajuda? Clique aqui
+ exclusion=Exclusão
+ exclude=Excluir os seguintes caracteres:
+ alphonly=Incluir apenas alfabeto
+ script1=Manter maiúsculas/minúsculas
+ script2=Saída em maiúsculas
+ script3=Saída em minúsculas
+ script4=Maiúscula/minúscula aleatória
+tools=Ferramentas
\ No newline at end of file
diff --git a/src/text/sup/ar/affine.txt b/src/text/sup/ar/affine.txt
new file mode 100644
index 0000000..ac9655f
--- /dev/null
+++ b/src/text/sup/ar/affine.txt
@@ -0,0 +1,15 @@
+شيفرة أفيني
+
+يحتوي تشفير أفيني على مفتاحين ، أ و ب.
+كلاهما حروف أبجدية.
+
+
+يجب أن يكون كوبريم له طول الأبجدية.
+من الممكن إنشاء مفتاح كوبريم عشوائي.
+ترتبط جميع المفاتيح بحرف أبجدي ، إذا كان طولها أولياً.
+
+
+لن يتم تشفير الحروف ، إذا لم تكن جزءًا من الأبجدية.
+
+
+تشفير أفيني هو استبدال أحادي.