Exemple #1
0
 def foundPeer(self, endkey, peer):
   print('foundPeer!!! '+str(endkey)+' '+str(peer))
   destkey=decode(peer[0])
   addr=peer[1]
   data=self.msg.encode('ascii')
   sessionKey=keypair.createSession(Key(destkey, False))
   print('session '+str(sessionKey.bytes))
   packet=DataPacket()
   packet.createDataPacket(sessionKey.bytes, data, keys.entropy)
   self.dustmail.sendMessage(encode(self.keypair.public.bytes), encode(destkey), encode(packet.packet))
Exemple #2
0
 def foundPeer(self, endkey, peer):
     print('foundPeer!!! ' + str(endkey) + ' ' + str(peer))
     destkey = decode(peer[0])
     addr = peer[1]
     data = self.msg.encode('ascii')
     sessionKey = keypair.createSession(Key(destkey, False))
     print('session ' + str(sessionKey.bytes))
     packet = DataPacket()
     packet.createDataPacket(sessionKey.bytes, data, keys.entropy)
     self.dustmail.sendMessage(encode(self.keypair.public.bytes),
                               encode(destkey), encode(packet.packet))
Exemple #3
0
 def encodePacket(self, addr, data):
   sessionKey=self.makeSession(addr, True)
   if not sessionKey:
     print('Unknown address', addr, 'trying introduction...')
     sessionKey=self.introducer.makeIntroduction(addr, self.sock)
     if not sessionKey:
       print('Introduction failed.')
       return
   packet=DataPacket()
   packet.createDataPacket(sessionKey, data, self.keys.entropy)
   return packet
Exemple #4
0
 def decodePacket(self, addr, data):
   sessionKey=self.makeSession(addr, False) # Don't introduce yourself when you receive a packet from an unknown host, that's not the protocol
   if sessionKey: # Must be a data packet
     packet=DataPacket()
     packet.decodeDataPacket(sessionKey, data)
     if packet.checkMac() and packet.checkTimestamp():
       return packet
     else:
       print('Integrity failed', packet.checkMac(), packet.checkTimestamp())
       print(packet)
       return None
   else: # Must be an intro packet
     print('Unknown address', addr)
     if self.introducer:
       intro=self.introducer.acceptIntroduction(data, addr)
       if intro:
         return intro
       else:
         return None
from dust.crypto.keys import KeyManager
from dust.core.data_packet import DataPacket

keys=KeyManager()
psk=keys.entropy.getBytes(32)
  
packet=DataPacket()
packet.createDataPacket(psk, b"Hello", keys.entropy)
print(packet)
print('l:', len(packet.packet))

print('------------------------')

pc=DataPacket()
pc.createDataPacket(psk, b"Chained!", keys.entropy)
print('l:', len(pc.packet))

print(pc)

chain=packet.packet+pc.packet

print('l:', len(chain))

print('------------------------')

p2=DataPacket()
p2.decodeDataPacket(psk, chain)
print(p2)

print('------------------------')
Exemple #6
0
from dust.crypto.keys import KeyManager
from dust.core.data_packet import DataPacket
from dust.core.util import encode, decode

keys=KeyManager()
#psk=keys.entropy.getBytes(32)

psk=decode("5475e69147a1463ef65116ccd8b3d732ead5ce8b5c9b0e61eb4c218fe6165013")

packet=DataPacket()
packet.createDataPacket(psk, b"test #3", keys.entropy)
print('packet:', packet)
print('packetData:', encode(packet.packet))

print('------------------------')

p2=DataPacket()
p2.decodeDataPacket(psk, packet.packet)
print(p2)
print('checkMac:', p2.checkMac())
print('checkTimestamp:', p2.checkTimestamp())
Exemple #7
0
    def __init__(self):
        DataPacket.__init__(self)

        self.sender = None
        self.receiver = None
Exemple #8
0
  def __init__(self):
    DataPacket.__init__(self)

    self.multiplex=None
Exemple #9
0
from dust.crypto.keys import KeyManager
from dust.core.data_packet import DataPacket

keys = KeyManager()
psk = keys.entropy.getBytes(32)

packet = DataPacket()
packet.createDataPacket(psk, b"Hello", keys.entropy)
print(packet)
print('l:', len(packet.packet))

print('------------------------')

pc = DataPacket()
pc.createDataPacket(psk, b"Chained!", keys.entropy)
print('l:', len(pc.packet))

print(pc)

chain = packet.packet + pc.packet

print('l:', len(chain))

print('------------------------')

p2 = DataPacket()
p2.decodeDataPacket(psk, chain)
print(p2)

print('------------------------')
Exemple #10
0
    def __init__(self):
        DataPacket.__init__(self)

        self.sender = None
        self.receiver = None