# Convert message to polynomial NTRU

How to make a message into a polynomial? I saw many answers to this question and yes, i know that here are some questions. But i did not get it. I think that i am making some mistakes. I took a word and just convert to binary-and here is my polynomial. I this that it is not correct, i am working with utf-8 (so example with ascii-7 not solution for me). I dont like to use a hybrid crypto ( with for example aes-think that these symmetric crypto are not secure), but i tried it-and i used a 128-bit key for aes and parameter N=503 for NTRU and this is not enough for me. Because i have key ( aes) for example 255 255 255 255 255 255 255 255 255 255 255 255 255 155 155 155 and i need these spaces- i am trying to create app for windows phone encrypt sms, so it need for correcting decrypt. So i think that i am not right and need your help. Help me understand how to correct in my case make a message into a polynomial and may be give some ideas for encrypting sms.

What you are looking for is explicitly specified in the IEEE Standard 1363.1 , which covers NTRU. In particular, encoding a bit string into a polynomial is done in the following manner: Once you have processed the input message, you divide it into blocks of 3 bits, and transform each block in a pair of coefficients of a ternary polynomial according to a predefined table (described in 9.2.2.h of ):

• {0, 0, 0} is converted to {0, 0}
• {0, 0, 1} is converted to {0, 1}
• {0, 1, 0} is converted to {0, –1}
• {0, 1, 1} is converted to {1, 0}
• {1, 0, 0} is converted to {1, 1}
• {1, 0, 1} is converted to {1, –1}
• {1, 1, 0} is converted to {–1, 0}
• {1, 1, 1} is converted to {–1, 1}

Note that the input bit string needs some processing before transforming it into the polynomial (also described in section 9.2.2).

Also note that we assume the original message is a bit string, so it doesn't matter which was the codification of the original text string (ASCII, UTF-8 or whatever); that should be a problem of your application, not of the encryption algorithm.

References:

 IEEE Std 1363.1 - IEEE Standard Specification for Public Key Cryptographic Techniques Based on Hard Problems over Lattices. 2008.