Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

> ~/<your_path>/MonkeyCrypt/src/$ **javac Run.java**
>
Expand Down
14 changes: 10 additions & 4 deletions src/crypt/cryptanalysis/Haeufigkeitsanalyse.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
2 changes: 1 addition & 1 deletion src/frame/MoCr_Frame.java
Original file line number Diff line number Diff line change
Expand Up @@ -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

/**
Expand Down
1 change: 1 addition & 0 deletions src/img/German-modifiedBanners/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added src/img/pl/Schriftzug Codierungen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions src/text/did/en/bi-language_did.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<body>
<h1> Bi-Language </h1>
<h3>Habillobi!</h3>
<p>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!</p>
<p>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.<br>
<p align ='center'><i>klibingt dabann sobo!</i> </p>
</p><p>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?
</p>
</body>
</html>
13 changes: 12 additions & 1 deletion src/text/did/en/otp_did.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@
<html>
<body>
<h1> The One-Time-Pad </h1>
This is the learning panel for the one-time pad.
<p>The one-time pad is famous as being the <i>only completely unbreakable cipher</i>. 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.</p>

<h3>Encryption and decryption with the One-Time Pad</h3>
<p>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:
<ul>
<li>The OTP should consist of truely random characters (noise).</li>
<li>The OTP (i.e. the key) should have the same length as the plaintext (or longer).</li>
<li>Only two copies of the OTP should exist.</li>
<li>The OTP should be used only once.</li>
<li>Both copies of the OTP are destroyed immediately after use.</li>
</ul>
</p>
</body>
</html>
18 changes: 9 additions & 9 deletions src/text/did/en/rsa_did.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
<html>
<body>
<h1> The RSA procedure </h1>
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.<br />
<p><B>Imagine a padlock.</B> <br>
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.<br />
I will send them only the lock but will keep the key with me.<br />
So, I can send these padlocks to all my friends who want to communicate with me.<br>
I will send them only the lock but will keep the key with me.</p>

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.<br />
If the box is intercepted, it's contents will not be compromised since I still have the key with me.<br />
<p>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.</p>

When the box reaches me, I can open my padlock with my key and read the contents.<br />
<p>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.<br />

Source : https://www.quora.com/How-do-you-explain-how-an-RSA-public-key-works-to-a-child <br />
</p>
Source : <a href="https://www.quora.com/How-do-you-explain-how-an-RSA-public-key-works-to-a-child">https://www.quora.com/How-do-you-explain-how-an-RSA-public-key-works-to-a-child</a> <br />
</body>
</html>
94 changes: 94 additions & 0 deletions src/text/local/Bundle_bn_BD.properties
Original file line number Diff line number Diff line change
@@ -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=টুলস
94 changes: 94 additions & 0 deletions src/text/local/Bundle_ka_GE.properties
Original file line number Diff line number Diff line change
@@ -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=ინსტრუმენტები
Loading