Yeah, you can set up as a separate branch. You shouldn't need any
permissions from us to do that. On github you can just make a fork of the
project to your account and then create as many branches as you'd like.

As I mentioned, if you'd like you can email me directly with your github id
and we can add you to the project.

Sean


On Thu, Apr 25, 2013 at 9:42 AM, Erik Larsson <[email protected]>wrote:

> I currently have it forked in my own repo but if I could add it as a
> branch, it would be fantastic.
>
> On Apr 20, 2013, at 9:05 PM, Sean Colyer <[email protected]> wrote:
>
> We can add you to the openpgpjs organization as a developer on github if
> you need to set up a separate branch. Do you have it set up as a branch on
> a fork in your personal repo or what is your current structure?
>
>
> On Sun, Apr 7, 2013 at 3:57 PM, Erik Larsson <[email protected]>wrote:
>
>> Hey,
>>
>> Again sorry for the late response. If you guys are still interested in me
>> committing my branch, I can send it up now. There's still a lot work that
>> needs to be done, but I rather get it up so I can keep working on it. I
>> don't think i have any rights to create a branch on the project, would it
>> be possible to change that or how do you guys usually deal with things like
>> this?
>>
>> Someone asked about the performance between using strings and using
>> blobs. I haven't actually timed it so I don't really have a definite answer
>> to this. For the project I was working on we however had to be able to
>> encrypt/decrypt files that's >100mb and the browsers would simply freeze
>> and crash for files of that size. It would however be interesting to
>> compare the two, if nothing else, just to have some benchmarking.
>>
>> My branch currently supports Firefox, Chrome, Safari 6 and IE 10.
>>
>> I also remembered being asked about the project I'm working on and if we
>> could use our logo. This is completely fine, the project is called
>> SendSafely (www.sendsafely.com). I can send a logo if there's nothing
>> suiting on the site.
>>
>> Regards
>> Erik
>>
>> On Feb 14, 2013, at 4:52 PM, Alexander Willner <[email protected]> wrote:
>>
>> > Hi Erik,
>> >
>> >> Sorry for the delayed answer, I've been swamped with work and haven't
>> had the time to deal with this for a while. Looks like I will have quite
>> some time this week though, and I hope to commit by the end of the week. My
>> suggestion is to commit on a separate branch and we can then build it out
>> further from there.
>> >
>> > no problem - we're all doing this for fun ;)
>> >
>> >> Anyhow, here's an outline of what we've done so far;
>> >
>> > Sound fantastic what I read. Again: a nice performance comparison would
>> be great for promotion.
>> >
>> >> I'd also like to point out that we've only changed the parts that are
>> critical for us. This would mainly be AES encryption/decryption and
>> generating SHA-1 hashes.
>> >
>> > Ok - so might be a long term goal to apply your changes also to the
>> rest.
>> >
>> >> Since encryption/decryption can be a time consuming task we decided to
>> do it from web workers.
>> >
>> > Are you aware of this branch?
>> https://github.com/openpgpjs/openpgpjs/tree/webworker
>> >
>> >> Another problem we ran into is that window.crypto.getRandomValues() is
>> not defined for Firefox (and not defined in a web worker context for any
>> other browser either). Currently we will instead use SJCL (the crypto lib
>> from Stanford) to get random numbers for Firefox.
>> >
>> > Very well. See https://github.com/openpgpjs/openpgpjs/issues/22 and
>> https://github.com/openpgpjs/openpgpjs/tree/master/Dependencies (added
>> the dependency already a year ago).
>> >
>> >> Currently all of this work with Firefox, Chrome and IE10. It is
>> possible to add support for Safari as well and I hope to be able to do this
>> this week, although that's nothing I can promise. Other browsers are not
>> tested (except for lower versions of IE that will not work).
>> >> Anyhow,
>> >> Sorry for the much delayed answer, let me know if there's any
>> questions..
>> >
>> > Your contribution is very welcome.
>> >
>> > If you or anyone on this list is interested, we can apply for the
>> current call for OpenITP proposals[1]. It's about $5k-$30k USD, the
>> deadline is 31.03.2013, it's simple to apply and I think there is a high
>> chance to get accepted with an OpenPGP.js related project.
>> >
>> > Best regards, Alex
>> >
>> > [1]
>> http://openitp.org/?q=openitp_first_round_of_2013_project_funding_now_open_for_proposals
>> >
>> > Best regards, Alex
>> >
>> > [1]
>> http://openitp.org/?q=openitp_first_round_of_2013_project_funding_now_open_for_proposals
>> >
>> >
>> > On 12.02.2013, at 16:42, Erik Larsson <[email protected]>
>> wrote:
>> >
>> >> Hi Alex,
>> >>
>> >> Sorry for the delayed answer, I've been swamped with work and haven't
>> had the time to deal with this for a while. Looks like I will have quite
>> some time this week though, and I hope to commit by the end of the week. My
>> suggestion is to commit on a separate branch and we can then build it out
>> further from there.
>> >>
>> >> Anyhow, here's an outline of what we've done so far;
>> >>
>> >> In order to be able to deal with larger files we now work extensively
>> with blobs and typed arrays rather than strings. Blob's are a good way to
>> handle large chunks of data since they are stored on the file system and
>> not just kept in memory. Rather than dealing with blob objects right away
>> we created two new buffer objects that basically reads in a small part of
>> the blob to avoid keeping it all in memory. It reads in a small chunk and
>> returns a typed array. By doing this we can perform normal array operations
>> on the data which is more convenient than dealing with a blob. Currently we
>> have on buffer for uint8array (used for encryption/decryption) and one for
>> int32Arrays (for SHA generation).
>> >>
>> >> I'd also like to point out that we've only changed the parts that are
>> critical for us. This would mainly be AES encryption/decryption and
>> generating SHA-1 hashes.
>> >>
>> >> Below is a more detailed description of the code changes we made.
>> >>
>> >> Encryption:
>> >> We've created a new function in openpgp.packet.literaldata named
>> write_packet_large. It takes a buffer object as input and returns a new
>> buffer containing the data + header.
>> >>
>> >> We've also created a new function in openpgp_packet_encrypteddata
>> again called write_packet_large. This function is not very different from
>> the normal one besides that it of course deals with the new buffer object
>> rather than strings.
>> >>
>> >> From there openpgp_crypto_symmetricEncrypt is called. We always use
>> AES when doing symmetric encryption so we haven't modified any of the other
>> ones.
>> >>
>> >> Last but not least we've added a new openpgp_cfb_encrypt_large
>> function which takes in a buffer object. We've modified the original
>> function so it will now read in chunks from the blob and encrypt them. When
>> done it returns a new buffer containing the cipher text. Besides that it is
>> also possible to pass in a callback object to which progress is reported
>> back.
>> >>
>> >> One note here is that we always use the resync option when encrypting
>> which means we have so far just converted that. I could possible convert
>> the non resync case before committing as well.
>> >>
>> >> Decryption
>> >> The changes made to the decryption flow is similar to the ones we did
>> for encryption. Our typical flow looks like this:
>> >> We added a new read_packet_large to openpgp_packet. In here we made
>> one major change. Previously there was a loop to determine the length for a
>> packet of indeterminate length (
>> https://tools.ietf.org/html/rfc4880#section-4.2.1,
>> https://tools.ietf.org/html/rfc4880#section-4.2.2). We found that this
>> loop was delaying the decryption process quite a bit for larger files so it
>> was removed. I don't believe there is really no need to know the length in
>> advance, correct me if I'm wrong? Instead we're calculating the length
>> while decrypting.
>> >>
>> >> Just as previously, the functions returns a package. The difference is
>> that the encrypted data is stored as a buffer rather than a string. Again,
>> only the methods we are using have been converted. The only packages using
>> large amounts of data that we use is the type 9 packages. The decryption is
>> then done very similar to how the encryption was accomplished.
>> >>
>> >> SHA-1 Generation
>> >> Similarly we've modified the SHA generation to accept a buffer as
>> input. Again, We've appended _large to the modified functions to ensure
>> that regular strings works as before.
>> >>
>> >> At last
>> >> Since encryption/decryption can be a time consuming task we decided to
>> do it from web workers. There is currently a JQuery reference when encoding
>> a html string which won't work when used in a Web Worker context. We never
>> used it so we just ended up commenting it out although that is of course
>> not a good solution. Another problem we ran into is that
>> window.crypto.getRandomValues() is not defined for Firefox (and not defined
>> in a web worker context for any other browser either). Currently we will
>> instead use SJCL (the crypto lib from Stanford) to get random numbers for
>> Firefox. This is however handled outside of OpenPGP since we need to
>> generate the numbers from the main thread and pass them to the worker.
>> >>
>> >> Currently all of this work with Firefox, Chrome and IE10. It is
>> possible to add support for Safari as well and I hope to be able to do this
>> this week, although that's nothing I can promise. Other browsers are not
>> tested (except for lower versions of IE that will not work).
>> >>
>> >> Anyhow,
>> >> Sorry for the much delayed answer, let me know if there's any
>> questions..
>> >>
>> >>
>> >> On Jan 9, 2013, at 2:56 PM, Alex (via OpenPGP.js) <[email protected]>
>> wrote:
>> >>
>> >>> Hi Erik,
>> >>>
>> >>> Thank you for the answer.
>> >>>
>> >>>> I work in a project where we are using OpenPGP.js in a production
>> environment. We however use it to encrypt larger files which forced us to
>> make a few changes.
>> >>>
>> >>> Would love to read more about this.
>> >>>
>> >>>> If you guys want to use our logo on the OpenPGP.js site we can
>> probably arrange that as well.
>> >>>
>> >>> Yes!
>> >>>
>> >>>> If you guys are interested we would like to commit this back to the
>> project for others to use.
>> >>> ...
>> >>>> Would these changes be of interest to the project?
>> >>>
>> >>> Definitely! I think it would be extremely helpful to have a short
>> benchmark before and after your changes that we can publish.
>> >>>
>> >>> Best regards, Alex
>> >>>
>> >>> On 08.01.2013, at 18:33, Erik Larsson <[email protected]>
>> wrote:
>> >>>
>> >>>> Hi,
>> >>>>
>> >>>> I've been on this mailing list for a while without writing. I work
>> in a project where we are using OpenPGP.js in a production environment. We
>> however use it to encrypt larger files which forced us to make a few
>> changes. The major one being to support blobs when decrypting/encrypting
>> data. We had to do this since we are likely to operate on files > 100 mb
>> and it was just not possible to pass around a string with that size.
>> >>>>
>> >>>> If you guys are interested we would like to commit this back to the
>> project for others to use. Today I'm mostly reaching out to get the
>> conversation started. There's some work that has to be done on our part
>> before merging so I just wanted to touch base on what we've done. Right now
>> we have added prefixed functions when we deal with large files so rather
>> than calling write_packet we call write_packet_large and so forth. We did
>> this mostly to keep our changes separate from the original source. We are
>> willing to change this in however way fits the project guidelines better.
>> There are some additional changes that comes to this but this would be the
>> major one. Would these changes be of interest to the project?
>> >>>>
>> >>>> If you guys want to use our logo on the OpenPGP.js site we can
>> probably arrange that as well.
>> >>>>
>> >>>> Best Regards
>> >>>> Erik
>> >>>>
>> >>>> On Jan 8, 2013, at 3:16 AM, Alex (via OpenPGP.js) <
>> [email protected]> wrote:
>> >>>>
>> >>>>> Dear all,
>> >>>>>
>> >>>>> Happy New Year. I think it's time to give the OpenPGP.js project a
>> bit more "love" in 2013. There are many items on the todo list - so let us
>> address the first ones:
>> >>>>>
>> >>>>> 1. Marketing: Which projects are currently using OpenPGP.js? I
>> would like to add links and logos to our web page. Also I just restarted to
>> use the Twitter account http://twitter.com/openpgpjs to retweet and
>> answer related posts. Anyone is welcome to join. Also I've created a new
>> simple logo (see attached).
>> >>>>>
>> >>>>> 2. Developing: It should be very easy for users to integrate the
>> library into their web pages and for developers to enhance the current
>> version. I think we can improve the current situation. So we also might
>> want to move this mailing list to another one with archive support (btw: is
>> a mailing list still an adequate perfect medium?)
>> >>>>>
>> >>>>> 3. Security: There are a lot of discussions about the advantages
>> and drawbacks of using a JavaScript based OpenPGP library (within browsers
>> or not). We should write some sort of "summarized and syntetic" (@naif:
>> thanks.)
>> >>>>>
>> >>>>> What should we address in 2013 from your point of view?
>> >>>>>
>> >>>>> Best regards, Alex
>> >>>>>
>> >>>>> --
>> >>>>> http://openpgpjs.org
>> >>>>>
>> >>>>>
>> >>>>> <icon_openpgpjs.png>
>> >>>>> _______________________________________________
>> >>>>>
>> >>>>> http://openpgpjs.org
>> >>>>
>> >>>> _______________________________________________
>> >>>>
>> >>>> http://openpgpjs.org
>> >>>
>> >>> _______________________________________________
>> >>>
>> >>> http://openpgpjs.org
>> >>
>> >> _______________________________________________
>> >>
>> >> http://openpgpjs.org
>> >
>>
>> _______________________________________________
>>
>> http://openpgpjs.org
>>
>
> _______________________________________________
>
> http://openpgpjs.org
>
>
>
> _______________________________________________
>
> http://openpgpjs.org
>
>
_______________________________________________

http://openpgpjs.org

Reply via email to