Esempio n. 1
0
        def __init__(self, host = "", ip = "", port = 0, key = "", ext = "", timeout = 5, consumer = None, clientext = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"):
                asyncore.dispatcher.__init__(self)
                self.consumer = consumer
                self.host = host
                self.ip = ip
                self.port = port
                self.key = key
                self.ext = ext
                self.start = time.time()
                self.timeout = timeout
                self.clientext = clientext

                nonce = "CurveCP-client-H%s" % nacl.randombytes(8)

                packet = "QvnQ5XlH"
                packet += self.ext
                packet += self.clientext #XXX
                (self.clientshorttermpk, self.clientshorttermsk) = nacl.crypto_box_curve25519xsalsa20poly1305_keypair()
                packet += self.clientshorttermpk
                packet += allzero
                packet += nonce[16:]
                text = nacl.crypto_box_curve25519xsalsa20poly1305(allzero, nonce, self.key, self.clientshorttermsk)
                packet += text
                self.packet = packet

                try:
                        self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
                        self.bind(('', 0))
                except socket.error:
                        self.handle_error()
Esempio n. 2
0
        def __init__(self, query = None, consumer = None):
                """
                """

                asyncore.dispatcher.__init__(self)

                self.consumer  = consumer
                self.query     = query

                if not len(self.query.transport):
                        raise Exception("XXX")
                (self.ip, self.remotepk, self.zone, self.timeout) = self.query.transport[0]
                self.query.transport = self.query.transport[1:]
        
                self.dnsid = nacl.randombytes(2)
                #dnscurve
                self.nonce = ""
                self.mypk  = ""
                self.txtid = ""
                self.key   = ""
                if self.remotepk:
                        self.nonce = nacl.randombytes(12)
                        mysk       = nacl.randombytes(32)
                        self.mypk  = nacl.crypto_scalarmult_curve25519_base(mysk)
                        self.key   = nacl.crypto_box_curve25519xsalsa20poly1305_beforenm(self.remotepk, mysk)
                        if self.zone:
                                self.txtid = nacl.randombytes(2)

                self.start     = time.time()
                self.connected = False
                self.response  = ""

                if self.remotepk:
                        self.request = self.query.dnscurve_packet(self.zone, self.mypk, self.key, self.nonce, self.dnsid, self.txtid)
                else:
                        self.request = self.query.packet(self.dnsid)

                if self.query.tcp:
                        self.request = "%s%s" % (struct.pack('>H', len(self.request)), self.request)

                try:
                        self.bindconnect()
                except socket.error:
                        self.handle_error()
Esempio n. 3
0
 def nonce(self):
     return nacl.randombytes(nacl.crypto_box_NONCEBYTES)
Esempio n. 4
0
 def test_random_1000(self):
     r = nacl.randombytes(1000)
     self.assertEqual(len(r), 1000)
Esempio n. 5
0
 def setUp(self):
     self.sk1 = nacl.randombytes(nacl.crypto_scalarmult_curve25519_BYTES)
     self.pk1 = nacl.crypto_scalarmult_curve25519_base(self.sk1)
     self.sk2 = nacl.randombytes(nacl.crypto_scalarmult_curve25519_BYTES)
     self.pk2 = nacl.crypto_scalarmult_curve25519_base(self.sk2)
Esempio n. 6
0
 def test_random_1000(self):
     r = nacl.randombytes(1000)
     self.assertEqual(len(r), 1000)
Esempio n. 7
0
 def setUp(self):
     self.k = nacl.randombytes(self.attr('_KEYBYTES'))
     self.auth = self.attr('')
     self.verify = self.attr('_verify')
Esempio n. 8
0
 def test_stream(self):
     nonce = nacl.randombytes(nacl.crypto_stream_NONCEBYTES)
     c = nacl.crypto_stream(1000, nonce, self.k)
     self.assertEqual(len(c), 1000)
Esempio n. 9
0
 def test_secretbox_badsig(self):
     nonce = nacl.randombytes(nacl.crypto_secretbox_NONCEBYTES)
     c = nacl.crypto_secretbox(self.msg, nonce, self.k)
     c1 = c[:-1] + bchr((ord(c[-1:]) + 1) % 256)
     self.assertRaises(ValueError, nacl.crypto_secretbox_open, c1, nonce,
                       self.k)
Esempio n. 10
0
 def test_secretbox(self):
     nonce = nacl.randombytes(nacl.crypto_secretbox_NONCEBYTES)
     c = nacl.crypto_secretbox(self.msg, nonce, self.k)
     m = nacl.crypto_secretbox_open(c, nonce, self.k)
     self.assertEqual(m, self.msg)
Esempio n. 11
0
 def test_random_10(self):
     r = nacl.randombytes(10)
     self.assertEqual(len(r), 10)
     s = nacl.randombytes(10)
     self.assertNotEqual(r, s)
Esempio n. 12
0
 def setUp(self):
     self.k = nacl.randombytes(nacl.crypto_secretbox_KEYBYTES)
Esempio n. 13
0
 def setUp(self):
     self.sk1 = nacl.randombytes(nacl.crypto_scalarmult_curve25519_BYTES)
     self.pk1 = nacl.crypto_scalarmult_curve25519_base(self.sk1)
     self.sk2 = nacl.randombytes(nacl.crypto_scalarmult_curve25519_BYTES)
     self.pk2 = nacl.crypto_scalarmult_curve25519_base(self.sk2)
Esempio n. 14
0
        def randombytes(self, l = 0):
                """
                """

                return nacl.randombytes(l)
Esempio n. 15
0
        def __init__(self):
                """
                """

                self.seed(nacl.randombytes(16))
                self.gauss_next = None
Esempio n. 16
0
 def setUp(self):
     self.k = nacl.randombytes(nacl.crypto_secretbox_KEYBYTES)
Esempio n. 17
0
 def test_secretbox(self):
     nonce = nacl.randombytes(nacl.crypto_secretbox_NONCEBYTES)
     c = nacl.crypto_secretbox(self.msg, nonce, self.k)
     m = nacl.crypto_secretbox_open(c, nonce, self.k)
     self.assertEqual(m, self.msg)
Esempio n. 18
0
 def test_secretbox_badsig(self):
     nonce = nacl.randombytes(nacl.crypto_secretbox_NONCEBYTES)
     c = nacl.crypto_secretbox(self.msg, nonce, self.k)
     c1 = c[:-1] + bchr((ord(c[-1:]) + 1) % 256)
     self.assertRaises(ValueError, nacl.crypto_secretbox_open, c1, nonce,
                       self.k)
Esempio n. 19
0
 def setUp(self):
     self.k = nacl.randombytes(nacl.crypto_stream_KEYBYTES)
Esempio n. 20
0
 def setUp(self):
     self.k = nacl.randombytes(nacl.crypto_stream_KEYBYTES)
Esempio n. 21
0
 def test_stream_xor(self):
     nonce = nacl.randombytes(nacl.crypto_stream_NONCEBYTES)
     c = nacl.crypto_stream_xor(self.msg, nonce, self.k)
     m = nacl.crypto_stream_xor(c, nonce, self.k)
     self.assertEqual(m, self.msg)
Esempio n. 22
0
 def test_stream(self):
     nonce = nacl.randombytes(nacl.crypto_stream_NONCEBYTES)
     c = nacl.crypto_stream(1000, nonce, self.k)
     self.assertEqual(len(c), 1000)
Esempio n. 23
0
 def test_random_10(self):
     r = nacl.randombytes(10)
     self.assertEqual(len(r), 10)
     s = nacl.randombytes(10)
     self.assertNotEqual(r, s)
Esempio n. 24
0
 def test_stream_xor(self):
     nonce = nacl.randombytes(nacl.crypto_stream_NONCEBYTES)
     c = nacl.crypto_stream_xor(self.msg, nonce, self.k)
     m = nacl.crypto_stream_xor(c, nonce, self.k)
     self.assertEqual(m, self.msg)
Esempio n. 25
0
 def nonce(self):
     return nacl.randombytes(nacl.crypto_box_NONCEBYTES)
Esempio n. 26
0
 def setUp(self):
     self.k = nacl.randombytes(self.attr('_KEYBYTES'))
     self.auth = self.attr('')
     self.verify = self.attr('_verify')