Arrays: digitally signing them

Richard Gaskin ambassador at fourthworld.com
Tue Jan 12 19:25:53 CET 2016


David Bovill wrote:

> I was looking into standards for digitally signing JSON - and I wandered
> about signing Livecode arrays. This would need some way to normalise the
> array construction as (from the docs):
>
> Arrays in LiveCode are un-ordered. This means in particular that encoding
>> two arrays will not necessarily produce the same result, even if the arrays
>> had the same elements. To compare two arrays, simply use the = operator
>> directly on them rather than encoding them first.
>
> I take this to mean that depending on exactly how (the order of
> construction), a Livecode array is created, it's hash will be different, as
> will the result of arrayDecode.
>
> Is this right? Any thoughts on how to digitally sign an array? If this
> proves as complex as i think, it may be more useful to replicate the JSON-LD
> signature algorithm: <https://web-payments.org/specs/source/ld-signatures/>

Would BSON lend itself to signing?

As a binary format it could offer the efficiency of LSON (my pet name 
for LiveCode encoded arrays, which I've found clients tend to respond 
favorably to), but also the benefit of being a standard open format like 
JSON.

Some time ago I submitted a request for BSONencode and BSONdecode:
<http://quality.livecode.com/show_bug.cgi?id=15678>

Peter's point there is well taken, that this could be implemented as a 
library; it wouldn't even need to be in Builder, since LiveCode is much 
faster to develop in, runs a bit faster, and already has the binary 
functions to support it.

The only downside to implementing that in either scripting language is 
the very desirability of BSON:  we choose the encumbrance of binary 
formats for the benefit of performance.  In C++ it would be wonderful; 
in any scripting language that benefit would be compromised.

An external perhaps?

-- 
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  Ambassador at FourthWorld.com                http://www.FourthWorld.com



More information about the use-livecode mailing list