[Ann] Keccak hashing algorithm

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

[Ann] Keccak hashing algorithm

Santiago Bragagnolo
Hi there! 

I am just releasing the first version of the Keccak-256 hashing algorithm. https://en.wikipedia.org/wiki/SHA-3

 
This  version is based on a javascript implementation: https://github.com/emn178/js-sha3

This implementation supports  as message: bytearray and ascii and utf-8 strings.


Soon i will be adding support to the rest of the Keccak family of hashing functions, since the implementations is quite configurable, is just need to add some constructors with specific configurations and tests for this other cases of usage.


Here a onliner for building an image with the version v0.1:


Hope you find it useful :) 


Santiago 


Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

Esteban A. Maringolo
Great!

I see you continue doing Ethereum related stuff ;-)

Regards!
Esteban A. Maringolo


2017-07-18 13:32 GMT-03:00 Santiago Bragagnolo <[hidden email]>:

> Hi there!
>
> I am just releasing the first version of the Keccak-256 hashing algorithm.
> https://en.wikipedia.org/wiki/SHA-3
>
> You can find it at: https://github.com/sbragagnolo/Keccak
>
> This  version is based on a javascript implementation:
> https://github.com/emn178/js-sha3
>
> This implementation supports  as message: bytearray and ascii and utf-8
> strings.
>
>
> Soon i will be adding support to the rest of the Keccak family of hashing
> functions, since the implementations is quite configurable, is just need to
> add some constructors with specific configurations and tests for this other
> cases of usage.
>
>
> Here a onliner for building an image with the version v0.1:
>
>  wget -O- https://raw.githubusercontent.com/sbragagnolo/Keccak/v0.1/build.sh
> | bash
>
> Hope you find it useful :)
>
>
> Santiago
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

NorbertHartl
Really great! I think we should move the Cryptography package from smalltalkhub to github, refactor it and add goodies like this. We need a strong crypto foundation.

Norbert

> Am 18.07.2017 um 19:10 schrieb Esteban A. Maringolo <[hidden email]>:
>
> Great!
>
> I see you continue doing Ethereum related stuff ;-)
>
> Regards!
> Esteban A. Maringolo
>
>
> 2017-07-18 13:32 GMT-03:00 Santiago Bragagnolo <[hidden email]>:
>> Hi there!
>>
>> I am just releasing the first version of the Keccak-256 hashing algorithm.
>> https://en.wikipedia.org/wiki/SHA-3
>>
>> You can find it at: https://github.com/sbragagnolo/Keccak
>>
>> This  version is based on a javascript implementation:
>> https://github.com/emn178/js-sha3
>>
>> This implementation supports  as message: bytearray and ascii and utf-8
>> strings.
>>
>>
>> Soon i will be adding support to the rest of the Keccak family of hashing
>> functions, since the implementations is quite configurable, is just need to
>> add some constructors with specific configurations and tests for this other
>> cases of usage.
>>
>>
>> Here a onliner for building an image with the version v0.1:
>>
>> wget -O- https://raw.githubusercontent.com/sbragagnolo/Keccak/v0.1/build.sh
>> | bash
>>
>> Hope you find it useful :)
>>
>>
>> Santiago
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

Eliot Miranda-2
Norbert,

On Tue, Jul 18, 2017 at 11:05 AM, Norbert Hartl <[hidden email]> wrote:
Really great! I think we should move the Cryptography package from smalltalkhub to github, refactor it and add goodies like this. We need a strong crypto foundation.

I agree that refactoring and adding goodies is great.  But why does that imply moving to github?  The Cryptography package has Squeak contributors too and moving to github implies a fork.  
 

Norbert

> Am 18.07.2017 um 19:10 schrieb Esteban A. Maringolo <[hidden email]>:
>
> Great!
>
> I see you continue doing Ethereum related stuff ;-)
>
> Regards!
> Esteban A. Maringolo
>
>
> 2017-07-18 13:32 GMT-03:00 Santiago Bragagnolo <[hidden email]>:
>> Hi there!
>>
>> I am just releasing the first version of the Keccak-256 hashing algorithm.
>> https://en.wikipedia.org/wiki/SHA-3
>>
>> You can find it at: https://github.com/sbragagnolo/Keccak
>>
>> This  version is based on a javascript implementation:
>> https://github.com/emn178/js-sha3
>>
>> This implementation supports  as message: bytearray and ascii and utf-8
>> strings.
>>
>>
>> Soon i will be adding support to the rest of the Keccak family of hashing
>> functions, since the implementations is quite configurable, is just need to
>> add some constructors with specific configurations and tests for this other
>> cases of usage.
>>
>>
>> Here a onliner for building an image with the version v0.1:
>>
>> wget -O- https://raw.githubusercontent.com/sbragagnolo/Keccak/v0.1/build.sh
>> | bash
>>
>> Hope you find it useful :)
>>
>>
>> Santiago
>>
>>




--
_,,,^..^,,,_
best, Eliot
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

Esteban A. Maringolo
2017-07-18 17:26 GMT-03:00 Eliot Miranda <[hidden email]>:

> Norbert,
>
> On Tue, Jul 18, 2017 at 11:05 AM, Norbert Hartl <[hidden email]> wrote:
>>
>> Really great! I think we should move the Cryptography package from
>> smalltalkhub to github, refactor it and add goodies like this. We need a
>> strong crypto foundation.
>
>
> I agree that refactoring and adding goodies is great.  But why does that
> imply moving to github?  The Cryptography package has Squeak contributors
> too and moving to github implies a fork.

The fork, soft or hard, already happened since Pharo incorporated in
"core" packages methods that belonged to the Cryptography package, so
loading this one overrides core methods.

Last commit to Squeaksource repo is 4 years old.


As per my last year announcement in
http://forum.world.st/Cryptography-packages-tp4915041p4915764.html

"I just adapted the latest version of the Cryptography package in
SqueakSource (Cryptography-rww.49) and removed everything that was
already in the Pharo 5.0 image and modified what was necessary to have
all the tests passing.

There is still a pending organization of the Cryptography classes and
packages per se, but this should be the reference implementation in
Pharo.

http://smalltalkhub.com/#!/~Cryptography/Cryptography/"

Regards,


Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

Esteban A. Maringolo
2017-07-18 17:33 GMT-03:00 Esteban A. Maringolo <[hidden email]>:
> 2017-07-18 17:26 GMT-03:00 Eliot Miranda <[hidden email]>:
>> imply moving to github?  The Cryptography package has Squeak contributors
>> too and moving to github implies a fork.

> Last commit to Squeaksource repo is 4 years old.

I overlooked this, last commit is recent. My bad.

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

NorbertHartl
In reply to this post by Eliot Miranda-2
Eliot,

Am 18.07.2017 um 22:26 schrieb Eliot Miranda <[hidden email]>:

Norbert,

On Tue, Jul 18, 2017 at 11:05 AM, Norbert Hartl <[hidden email]> wrote:
Really great! I think we should move the Cryptography package from smalltalkhub to github, refactor it and add goodies like this. We need a strong crypto foundation.

I agree that refactoring and adding goodies is great.  But why does that imply moving to github?  The Cryptography package has Squeak contributors too and moving to github implies a fork.  

That fork happened already because there is a repository on smalltalkhub [1]. Lately I needed crypto support for a project of mine and I was searching for the last thing I could use. I was glad I've found the package Esteban did so I could use it in pharo. But I didn't know it was only the very last version that worked on pharo. But my Metacello setup somehow decided to load the second recent package which rendered my image unusable. From then I know that there are a lot of classes that have been incorporated in pharo which are present in the Cryptography package. I was asking for someone that maintains it and got no response.
It is clear to me that there is no easy way to maintain the package for both squeak and pharo. At least not while having one big package to share. It would need a bit of engineering. Then I remembered I was asking a similar question (about splitting the Cryptography package) years ago and I didn't get much positive resonance. Btw. this was my general feeling with the squeak community back then and the same reason I was one of the first being on the pharo train (sapphire back then).
To make a long story short. I really like spending some time for the smalltalk community. And I'm afraid I could kill my time and my mood while trying to get an agreement for something both squeak and pharo. So my current strategy is to care less and look (selfishly) forward. Maybe the better way is that each side has a look at the repository of the others and merges what is needed. 
Why github? Because I want a reliable repository where my business process runs on. Smalltalkhub is close to its final growth. And my impression is that if we would put the load from smalltalkhub onto squeaksource the only thing we would notice is a bright flash and silence after.
Furthermore after all those years it turns out that you have a hard time of you do version your stuff and you want versioning to work reliable. What really works for me is having a github repo, a BaselineOf my project and tags on commits. Anything else just does not work and/or is not reproducible. 

Norbert


Norbert

> Am 18.07.2017 um 19:10 schrieb Esteban A. Maringolo <[hidden email]>:
>
> Great!
>
> I see you continue doing Ethereum related stuff ;-)
>
> Regards!
> Esteban A. Maringolo
>
>
> 2017-07-18 13:32 GMT-03:00 Santiago Bragagnolo <[hidden email]>:
>> Hi there!
>>
>> I am just releasing the first version of the Keccak-256 hashing algorithm.
>> https://en.wikipedia.org/wiki/SHA-3
>>
>> You can find it at: https://github.com/sbragagnolo/Keccak
>>
>> This  version is based on a javascript implementation:
>> https://github.com/emn178/js-sha3
>>
>> This implementation supports  as message: bytearray and ascii and utf-8
>> strings.
>>
>>
>> Soon i will be adding support to the rest of the Keccak family of hashing
>> functions, since the implementations is quite configurable, is just need to
>> add some constructors with specific configurations and tests for this other
>> cases of usage.
>>
>>
>> Here a onliner for building an image with the version v0.1:
>>
>> wget -O- https://raw.githubusercontent.com/sbragagnolo/Keccak/v0.1/build.sh
>> | bash
>>
>> Hope you find it useful :)
>>
>>
>> Santiago
>>
>>




-- 
_,,,^..^,,,_
best, Eliot

Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Keccak hashing algorithm

Stephane Ducasse-3
Thanks Norbert. The consortium paid nicolas to deliver iceberg and
esteban to push further for git because
the world is moving and git and github support will give us a lot of
exposure and a really powerful distributing versionning source control
system (even if I really enjoyed MC - it is showing its age - I will
be also happy when Smalltalkhub will be a nice legacy not getting in
my way. For the record people close to me know that I do not like git
even if I like its underlying social model - fork and we pushed git
not by accident. But to sustain business and our community.

I often have the impression that we are ants fighting together while
elephants (python, ruby, JS) are running around. I spent a lot of time
pushing Squeak in the past - I'm basically the guy that wrote most
books and produced a lot of teaching material on Squeak, but I arrived
to a point where I decided that there were no reasonance about the
vision (innovation and business) I wanted for a new generation
smalltalk so I decided that Squeak was ok for me and that all my
energy is for Pharo.
I do not like to compete to runner competition with snowshoes while
others have supercool nike and this "let us do something compatible"
like forcing me to wear snow shoes. I paid attention to avoid non
backward compatible changes but after a while what should be done
should be done.
I think that since 2008 we show that we value: community building,
business support and delivering an excellent system.

So I'm like you, if everything I do should be compatible with Squeak
and others then I should better go and do fun stuff in Lua, Python,
Ruby or JS.
People may think that it is sad or that I'm arrogant asshole: I do not
care because this is my fun and my life.
Pharo is open and people are welcome to build it with us. We are
always really open to co-build it but it also means taking
responsibility.

So thanks for sharing the vision with us.

Stef


On Wed, Jul 19, 2017 at 1:39 PM, Norbert Hartl <[hidden email]> wrote:

> Eliot,
>
> Am 18.07.2017 um 22:26 schrieb Eliot Miranda <[hidden email]>:
>
> Norbert,
>
> On Tue, Jul 18, 2017 at 11:05 AM, Norbert Hartl <[hidden email]> wrote:
>>
>> Really great! I think we should move the Cryptography package from
>> smalltalkhub to github, refactor it and add goodies like this. We need a
>> strong crypto foundation.
>
>
> I agree that refactoring and adding goodies is great.  But why does that
> imply moving to github?  The Cryptography package has Squeak contributors
> too and moving to github implies a fork.
>
>
> That fork happened already because there is a repository on smalltalkhub
> [1]. Lately I needed crypto support for a project of mine and I was
> searching for the last thing I could use. I was glad I've found the package
> Esteban did so I could use it in pharo. But I didn't know it was only the
> very last version that worked on pharo. But my Metacello setup somehow
> decided to load the second recent package which rendered my image unusable.
> From then I know that there are a lot of classes that have been incorporated
> in pharo which are present in the Cryptography package. I was asking for
> someone that maintains it and got no response.
> It is clear to me that there is no easy way to maintain the package for both
> squeak and pharo. At least not while having one big package to share. It
> would need a bit of engineering. Then I remembered I was asking a similar
> question (about splitting the Cryptography package) years ago and I didn't
> get much positive resonance. Btw. this was my general feeling with the
> squeak community back then and the same reason I was one of the first being
> on the pharo train (sapphire back then).
> To make a long story short. I really like spending some time for the
> smalltalk community. And I'm afraid I could kill my time and my mood while
> trying to get an agreement for something both squeak and pharo. So my
> current strategy is to care less and look (selfishly) forward. Maybe the
> better way is that each side has a look at the repository of the others and
> merges what is needed.
> Why github? Because I want a reliable repository where my business process
> runs on. Smalltalkhub is close to its final growth. And my impression is
> that if we would put the load from smalltalkhub onto squeaksource the only
> thing we would notice is a bright flash and silence after.
> Furthermore after all those years it turns out that you have a hard time of
> you do version your stuff and you want versioning to work reliable. What
> really works for me is having a github repo, a BaselineOf my project and
> tags on commits. Anything else just does not work and/or is not
> reproducible.
>
> Norbert
>
> [1] http://smalltalkhub.com/#!/~Cryptography/Cryptography
>>
>>
>> Norbert
>>
>> > Am 18.07.2017 um 19:10 schrieb Esteban A. Maringolo
>> > <[hidden email]>:
>> >
>> > Great!
>> >
>> > I see you continue doing Ethereum related stuff ;-)
>> >
>> > Regards!
>> > Esteban A. Maringolo
>> >
>> >
>> > 2017-07-18 13:32 GMT-03:00 Santiago Bragagnolo
>> > <[hidden email]>:
>> >> Hi there!
>> >>
>> >> I am just releasing the first version of the Keccak-256 hashing
>> >> algorithm.
>> >> https://en.wikipedia.org/wiki/SHA-3
>> >>
>> >> You can find it at: https://github.com/sbragagnolo/Keccak
>> >>
>> >> This  version is based on a javascript implementation:
>> >> https://github.com/emn178/js-sha3
>> >>
>> >> This implementation supports  as message: bytearray and ascii and utf-8
>> >> strings.
>> >>
>> >>
>> >> Soon i will be adding support to the rest of the Keccak family of
>> >> hashing
>> >> functions, since the implementations is quite configurable, is just
>> >> need to
>> >> add some constructors with specific configurations and tests for this
>> >> other
>> >> cases of usage.
>> >>
>> >>
>> >> Here a onliner for building an image with the version v0.1:
>> >>
>> >> wget -O-
>> >> https://raw.githubusercontent.com/sbragagnolo/Keccak/v0.1/build.sh
>> >> | bash
>> >>
>> >> Hope you find it useful :)
>> >>
>> >>
>> >> Santiago
>> >>
>> >>
>>
>
>
>
> --
> _,,,^..^,,,_
> best, Eliot
>
>