NTRU

In order to understand hex and type parameters read Hash

NTRU

Description: Post-quantum public-key cryptosystem

Problem: The shortest vector problem in a lattice

Uses: Encryption

  • It only supports "type":"string"

How to ???

import requests
import json
import os,binascii

def sending(message):
    url = 'http://127.0.0.1:6613/'
    response = requests.post(url, data=message)
    print response.content
    return response.content

ntru_gen=json.loads('{ "version": 1 , "algorithm":"NTRU", "parameter": "EES1499EP1", "operation":"gen"}')

data_js_n=sending(json.dumps(ntru_gen))
answ=json.loads(data_js_n)
print "Recived gen NTRU: \n" + (json.dumps(answ)) +"\n"
json_enc=json.loads('{ "version": 1 , "algorithm":"NTRU", "type":"string","parameter": "EES1499EP1","pubkey": "" ,"operation":"enc", "plaintext":""}')
json_enc["pubkey"]=answ["pubkey"]
json_enc["plaintext"]="Hello wolrd!"
data_js_n=sending(json.dumps(json_enc))
answ_1=json.loads(data_js_n)
print "Recived enc NTRU: \n" + (json.dumps(answ_1)) +"\n\n\n"
json_dec=json.loads('{ "version": 1 , "algorithm":"NTRU", "type":"string","parameter": "EES1499EP1","privkey": "" ,"operation":"dec", "plaintext":""}')
json_dec["privkey"]=answ["privkey"]
json_dec["pubkey"]=answ["pubkey"]
json_dec["plaintext"]=answ_1["result"]
data_js_n=sending(json.dumps(json_dec))
answ_2=json.loads(data_js_n)
print "Recived dec NTRU: \n" + (json.dumps(answ_2)) +"\n"

In this example we generate a NTRU key (EES1499EP1), we enc and dec "Hello world!" string.

On "parameter" can be one of{"EES449EP1", "EES613EP1","EES761EP1","EES677EP1", "EES887EP1","EES1087EP1","EES1087EP2","EES1171EP1","EES1499EP1"}

Json to gen

{ "version": 1 , "algorithm":"NTRU", "parameter": "ntru flavor", "operation":"gen"}

Json to enc

{ "version": 1 , "algorithm":"NTRU", "type":"string","parameter": "ntru flavor",
"pubkey": "your ntru hex pubkey" ,"operation":"enc", "plaintext":"your string","hex":BOOL}

Json to dec

{ "version": 1 , "algorithm":"NTRU", "type":"string","parameter": "ntru flavor",
"privkey": "your ntru hex privkey","pubkey":"your ntru hex pubkey" ,"operation":"dec", 
"plaintext":"your enc hex string"}

Last updated