Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/RSA-code/Kotlin/rsa-code.kotlin
Normal file
28
Task/RSA-code/Kotlin/rsa-code.kotlin
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// version 1.1.4-3
|
||||
|
||||
import java.math.BigInteger
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val n = BigInteger("9516311845790656153499716760847001433441357")
|
||||
val e = BigInteger("65537")
|
||||
val d = BigInteger("5617843187844953170308463622230283376298685")
|
||||
val c = Charsets.UTF_8
|
||||
val plainText = "Rosetta Code"
|
||||
println("PlainText : $plainText")
|
||||
val bytes = plainText.toByteArray(c)
|
||||
val plainNum = BigInteger(bytes)
|
||||
println("As number : $plainNum")
|
||||
if (plainNum > n) {
|
||||
println("Plaintext is too long")
|
||||
return
|
||||
}
|
||||
|
||||
val enc = plainNum.modPow(e, n)
|
||||
println("Encoded : $enc")
|
||||
|
||||
val dec = enc.modPow(d, n)
|
||||
println("Decoded : $dec")
|
||||
|
||||
val decText = dec.toByteArray().toString(c)
|
||||
println("As text : $decText")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue