Re: [ANNOUNCE] ParrotTalk release/design change considerations

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

abergel
Hi!

What ParrotTalk is about?
It does not seem related to the drone stuff (https://www.parrot.com) ? (Which I first thought).
I had a look at the .pdf you’ve sent, it seems to do something with networking

Cheers,
Alexandre



> On Oct 24, 2017, at 9:33 AM, henry <[hidden email]> wrote:
>
> Hi all,
>
> I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak and Pharo, found here:
>
> http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz 
>
> It follows this specification:
> https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf 
>
> One item of note, in version 3.5, the system connecting to a server, sending the IWant msg, must know the vatId of the system being connected to. I am considering changing this to version 3.6 by removing one round-trip in messaging. Therefore, these messages would be combined: IWant/GiveInfo, IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow eLindaSession to support both versions: 3.5 and 3.6.
>
> Thoughts please?
>
> - HH


Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

Stephane Ducasse-3
Hi henry

thanks for this announce. Can you tell where such protocols are used?

Stef

On Tue, Oct 24, 2017 at 6:33 PM, henry <[hidden email]> wrote:

> Hi all,
>
> I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak
> and Pharo, found here:
>
> http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz
>
> It follows this specification:
> https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf
>
> One item of note, in version 3.5, the system connecting to a server, sending
> the IWant msg, must know the vatId of the system being connected to. I am
> considering changing this to version 3.6 by removing one round-trip in
> messaging. Therefore, these messages would be combined: IWant/GiveInfo,
> IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow
> eLindaSession to support both versions: 3.5 and 3.6.
>
> Thoughts please?
>
> - HH

Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

henry
In reply to this post by abergel
Oh! I was U.N.familiar with Parrot drones. That’s awesome! Well how about using encrypted communications with a Parrot drone? This is the purpose and accomplishment of ParrotTalk, encrypted communications.

In 33 classes, minus 4 test classes with 16 tests (same #, 16, as eLinda!), ParrotTalk delivers 2048-bit key negotiation to encrypt communications with user-selected (through the SessionAgentMap - see tests) cryptoProtocol [AESede, DESede, DES], as well as allowing user-selected encoding [asn1der, Bytes {JSON}] of content data.

I am considering changing the spec to 3.6, as I mentioned.

- HH 

On Tue, Oct 24, 2017 at 12:44, Alexandre Bergel <alexandre.bergel@...> wrote:
Hi! What ParrotTalk is about? It does not seem related to the drone stuff (https://www.parrot.com) ? (Which I first thought). I had a look at the .pdf you’ve sent, it seems to do something with networking 
Cheers, Alexandre 

> On Oct 24, 2017, at 9:33 AM, henry wrote: > > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf > > One item of note, in version 3.5, the system connecting to a server, sending the IWant msg, must know the vatId of the system being connected to. I am considering changing this to version 3.6 by removing one round-trip in messaging. Therefore, these messages would be combined: IWant/GiveInfo, IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

henry
In reply to this post by Stephane Ducasse-3
In my tests, at the moment. Only there. I derived the ParrotTalk-3.5 spec from eright’s.org’s ELib implementation.

Do you think I should change the spec to allow for free, anonymous connections?

- HH


On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self@...> wrote:
Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

henry
In reply to this post by Stephane Ducasse-3
In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of 

- ProtocolOffered { offered, preferred }
- ProtocolAccepted { accepted }
- IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
- IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
- Go { cryptoProtocol, dataEncoder, dhParam, signature }
- GoToo { signature }

Using eLinda :


Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.

With a non-specific vatId required, anonymous connections would be supported.

- HH


On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self@...> wrote:
Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

henry
Please excuse all the low-level detail, if inappropriate to the discussion. The protocol changes are here specified.


- HH


On Tue, Oct 24, 2017 at 13:40, henry <henry@...> wrote:
In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of 

- ProtocolOffered { offered, preferred }
- ProtocolAccepted { accepted }
- IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
- IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
- Go { cryptoProtocol, dataEncoder, dhParam, signature }
- GoToo { signature }

Using eLinda :


Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.

With a non-specific vatId required, anonymous connections would be supported.

- HH


On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <stepharo.self@...> wrote:
Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCE] ParrotTalk release/design change considerations

Ben Coman

If I google... parrottalk protocol
nothing seems related.  So what is ParrotTalk? 

P.S... since this is not "part of" pharo, [pharo-users] would be a better place for discussion than [pharo-dev].
Could you re-announce there, with some description of use cases and who/where the protocol is used?

cheers -ben

On Wed, Oct 25, 2017 at 1:42 AM, henry <[hidden email]> wrote:
Please excuse all the low-level detail, if inappropriate to the discussion. The protocol changes are here specified.


- HH


On Tue, Oct 24, 2017 at 13:40, henry <[hidden email]> wrote:
In order to bring ParrotTalk-3.6 support, alongside historical 3.5 support, the frame header stays the same and the processing of the ProtocolOffered would select "ParrotTalk-3.6" to use the compact protocol of 

- ProtocolOffered { offered, preferred }
- ProtocolAccepted { accepted }
- IWant|GiveInfo|ReplyInfo { vatId, domain, publicKey, cryptoProtocols, dataEncoders }
- IAm|ReplyInfo { vatId, domain, publicKey, cryptoProtocol, dataEncoder, dhParam }
- Go { cryptoProtocol, dataEncoder, dhParam, signature }
- GoToo { signature }

Using eLinda :


Above the FrameBuffer, below the SessionOperations for each version of the protocol, an ELindaSession could be inserted. This session think would have the stacks for each protocol version SessionOperation registered by protocol in a Tuple, for eventual callback. When the ProtocolOffered comes in we publish the tuple frame, with set selected version, to route to the correct SessionOperation to support each version of the protocol.

With a non-specific vatId required, anonymous connections would be supported.

- HH


On Tue, Oct 24, 2017 at 12:52, Stephane Ducasse <[hidden email]> wrote:
Hi henry thanks for this announce. Can you tell where such protocols are used? Stef On Tue, Oct 24, 2017 at 6:33 PM, henry wrote: > Hi all, > > I am happy to announce the release of version 3.5 of ParrotTalk, for Squeak > and Pharo, found here: > > http://www.squeaksource.com/Cryptography/ParrotTalk-zzz.2.mcz > > It follows this specification: > https://github.com/ZiroZimbarra/callistohouse/blob/master/docs/ParrotTalkFrameDesign-3.5.pdf > > One item of note, in version 3.5, the system connecting to a server, sending > the IWant msg, must know the vatId of the system being connected to. I am > considering changing this to version 3.6 by removing one round-trip in > messaging. Therefore, these messages would be combined: IWant/GiveInfo, > IAm/ReplyInfo. I will keep ProtocolOffered and ProtocolAccepted to allow > eLindaSession to support both versions: 3.5 and 3.6. > > Thoughts please? > > - HH