Vigenère-Verfahren in Ruby:
def vigenereverschluesseln(satz, codewort)
buchstabe = ""
asciizahl = 0
stelle = 0
codestelle = 0
verschluesselter_satz = ""
while stelle < satz.length
buchstabe = satz[stelle]
codebuchstabe = codewort[codestelle]
asciizahl = buchstabe.ord
codeasciizahl = codebuchstabe.ord - 64
asciizahl = asciizahl + codeasciizahl
buchstabe = asciizahl.chr
verschluesselter_satz =
verschluesselter_satz + buchstabe
stelle = stelle + 1
codestelle = codestelle + 1
if codestelle == codewort.length then
codestelle = 0
end
end
return verschluesselter_satz
end
def vigenereentschluesseln(satz, codewort)
stelle = 0
codestelle = 0
entschluesselter_satz = ""
while stelle < satz.length
buchstabe = satz[stelle]
asciizahl = buchstabe.ord
codebuchstabe = codewort[codestelle]
asciizahl = buchstabe.ord
codeasciizahl = codebuchstabe.ord - 64
asciizahl = asciizahl - codeasciizahl
buchstabe = asciizahl.chr
entschluesselter_satz =
entschluesselter_satz + buchstabe
stelle = stelle + 1
codestelle = codestelle + 1
if codestelle == codewort.length then
codestelle = 0
end
end
return entschluesselter_satz
end
puts "-----------------------------------"
puts "Ein kleines Programm zur Demonstra-"
puts "tion der Vigenere-Verschlüsselung"
puts "-----------------------------------"
puts "Bitte den Satz eingeben: "
satz = gets.chomp
puts "Bitte das Codewort eingeben: "
codewort = gets.chomp
puts "Unverschluesselt: #{satz}"
satz = vigenereverschluesseln(satz,codewort)
puts "Verschluesselt: #{satz}"
satz = vigenereentschluesseln(satz,codewort)
puts "Entschluesselt: #{satz}"
Vigenère-Verfahren in Ruby:
def vigenereverschluesseln(satz, codewort)
buchstabe = ""
asciizahl = 0
stelle = 0
codestelle = 0
verschluesselter_satz = ""
while stelle < satz.length
buchstabe = satz[stelle]
codebuchstabe = codewort[codestelle]
asciizahl = buchstabe.ord
codeasciizahl = codebuchstabe.ord - 64
asciizahl = asciizahl + codeasciizahl
buchstabe = asciizahl.chr
verschluesselter_satz = verschluesselter_satz + buchstabe
stelle = stelle + 1
codestelle = codestelle + 1
if codestelle == codewort.length then
codestelle = 0
end
end
return verschluesselter_satz
end
def vigenereentschluesseln(satz, codewort)
stelle = 0
codestelle = 0
entschluesselter_satz = ""
while stelle < satz.length
buchstabe = satz[stelle]
asciizahl = buchstabe.ord
codebuchstabe = codewort[codestelle]
asciizahl = buchstabe.ord
codeasciizahl = codebuchstabe.ord - 64
asciizahl = asciizahl - codeasciizahl
buchstabe = asciizahl.chr
entschluesselter_satz = entschluesselter_satz + buchstabe
stelle = stelle + 1
codestelle = codestelle + 1
if codestelle == codewort.length then
codestelle = 0
end
end
return entschluesselter_satz
end
puts "-------------------------------------------------------------------"
puts "\n\n\n\n"
puts "Ein kleines Programm zur Demonstration der Vigenere-Verschlüsselung"
puts "Bitte den Satz eingeben: "
satz = gets.chomp
puts "Bitte das Codewort eingeben: "
codewort = gets.chomp
puts "Unverschluesselt: #{satz}"
satz = vigenereverschluesseln(satz, codewort)
puts "Verschluesselt: #{satz}"
satz = vigenereentschluesseln(satz, codewort)
puts "Entschluesselt: #{satz}"