agpl-no-kill-harm-monitor:1) IIaOM.hpp To anon: please improve this + Why let the state the monopoly over identities bind with transactions?

Page Starting:
Here wikidot users can improve the code, reverse its history and upload the files implementing it:

No files attached to this page.

/***  License: You are not allowed to use, produce from or design from this or its part,
anything contained with the aim to kill,to cause harm to or to monitor people and
any permission beside that is given only under the Agpl License:
   https://en.wikipedia.org/wiki/Affero_General_Public_License !*/
//The Authors: Namzezam, Erez Elul.  http://namzezam.wikidot.com/blog:12 
//In one picture: http://namzezam.wdfiles.com/local--files/blog:12/IIaOM.png
//As pat of the rcoin.h project: http://namzezam.wikidot.com/docs:rcoin-h
/**The Inner Identifier and Outer Mask (IIaOM) protocol
    for producing reputation and transaction records based on 
    public hashed picture, private map and picture of sender, 
    transactions and transferred objects.
 
    Feature: peer to peer means of registration with scalable anonymity,
    usable for scaling to onion the problem of equality (in democracy) and 
    accountability (for any morality in representation) 
    being invalidated by anonymity.                     
 
    To anon: please improve this + Why let the state the monopoly over 
    identities bind with transactions? 
 
    Players: #S (Sender) ,#R (Recipient), #W (Witness) , #A (Attacker/s).
 
    Elements: (E1(#S)) Privately: meet(#S) in person or online. 
              (E2(#S)) Private: picture(#S).
              (E3(#S)) Private: Map(picture(#S)).
              (E4(#S)) Public:H(picture(#S)).
              (E5(xy)) Encrypted for xy.
              (E6(xy)) Signed by xy.
              (E7(#S&#R)) being stamped(#S&#R) = sign_by#S_and#R(E5(#S)(E4(#S))).
 
    #W, being one of the witness/es of transaction - a community member or their
        operator/s, holds
        the Object being transferred, of which key is ^O, holding 
            {Hash(^t being the key for the transaction between #S and #R ),  
            symmetrically-encrypted-for-#S(secret_made_by_#S)}:
        and the (E7(#S&#R)) in both logs
            Reputation(^r(#S)->(E7(#S&#R))), as the Reputation is of #S and 
            Transactions(^t->(E7(#S&#R)), as hash of ^t is stored in the object.
 
    Each Transaction is done In 4 Steps:
        1. #S -> #R: #S sends to #R public link having (E2(#S)) and #R gets it.
                    Proof of willingness of #S to #R: 
                    The transaction begin only after this step is accomplished.
           1.1. return with failure; if #R cannot find it 
                     or #S refuse to give it or cannot do it.
        2. #S -> #R: #S sends to #R {E5((#R)E3(#S)),E5((#R)E2(#S)),E5((#R)E1(#S)). 
                     Proof of identification of #S by #R: After #R 
                     has (E4(#S)), this step of authentication 
                     of #S made by #R, is made proof while #S is exposed to #R or 
                     to who #R trust, only after both conditions are met: 
                      A) The hash by map (E3(#S)) of the picture (E2(#S))  
                        is identical to  (E4(#S)),
                      B) #R or 3rd part trusted by #R
                        identify #S from (E1(#S)) as the one 
                        in the picture (E2(#S)). 
            2.1. return with failure; if #R didn't authenticate #S.
        3. #S -> #W: #S sends to #W {^o , ^t(object), password, secret }. 
                     Proof to #W by #S of no double spending/transferring of 
                     the object. This is verified by any #W, such that: 
                        If only #S has the secret and password and since the 
                        position #S/#R is swapped in each transaction, the 
                        object being sealed by #S is verified by #W 
                        decoding the matched secret by the password given by #S
                        and for proving that this unique transaction is the 
                        specific one, #W also verifies that this ^t matches 
                        the hash(^t) in the object pointed by ^O.
Q?    here we also set the new transaction of the object or do we do it in 
new step 5
        4. #R -> #W: #R sends to #W (E7(#S&#R), as #S sign it to prevent #A 
                        from pretending to be #R and signing false stamp 
                        It is given both logs
        Reputation (^r(#S) ->stamped(#S&#R)), where the Reputation is of #S; and
        Transactions(^t->stamped(#S&#R)),where hash of ^t is stored in the 
            transferred object.
Q? here we put for both logs , approved by #R but also by each #W in step 3
 
Step1: #S shows the public link having her/his (E2(#S)) and #R gets it,
 where creating the E2(#S) is done by Forming n maps together being (E3(#S)),
    where each map is an ordered set of side by side rectangles over a picture, 
        by starting from the inner to the outer and having the locating point of 
        the inner in its outer after ending the inner one, while using stream of 
        pair of random numbers, each defines a rectangle, and
    where at each corner the rectangle is re-defined to exclude 
        the minimum height/width after walking vertically/horizontally;
    where the data in the rectangle is hashed (eg. by SHA-3); and 
        each hash is put into array which is finally hashed to produce 
        the H(picture), such that, each map is defined when one of the pairs 
        number equals z,
         either as x=z, so that the x axis of the map ends in this pair and 
          the y axis is the number on pairs to use to complete the map while
          walking in the clock or the vertical returning direction,
         or as y=z so that the y axis of the map ends in this pair and 
          the x axis is the number on pairs to use to complete the map 
          while walking the clock reverse or the horizontal returning direction, 
        as any another found z defines (being met in the walking) 
          a switch between the clock or returning methods in the next corner.
    while using as conventions: 
        z=zero=0,  starting-point=TopLeftCorner,MaxNumber=256.
 
From here we get localized for requiring #A, the attacker, 
to interact with each victim in addition to any accessing data- Step2: 
    #S sends an object to #R by sending to #R 
     {E5((#R)E3(#S)),E5((#R)E2(#S)),E5((#R)E1(#S))}, such that
     (E1(#S)) is given privately such as online or in crypto party fashion done,
      but without being associated with any governmental document/data, 
      as this is considered the most sensitive part and for making bulk 
      operations by #A harder the (E1(#S)) could be made separated,
     where the Object is any subject being transferred, such as a coin, 
      money, ownership, delivery or document of accountability etc
 
The event is distribute encrypted for each of #W - Step3:
    #S sends to #W {^o , ^t(object), password, secret }:
      the ^o (the id of the object), 
      the ^t(id of the last transaction of this object) 
      and both: the secret and the password by which the secret is reviled, 
          where the secret may also be a different password and 
          where both are generated per each object or transaction separately.
 
For the prove of privilege of being #S (where #R keeps the ^t(object) 
and the password of the secret) - Step4: 
    #R sends to #W The (E7(#S&#R)) to be added 
       in both logs held by #W Reputation and Transactions.  ***/
 
/**IIaOM threat model:
 
The threat model is defined in terms of what possible attacker can achieve,
where the communication assumed be resistible at least as of pond (threat model 
https://github.com/agl/pond/blob/d862f6515097465c1c710ae43d467fbeaa641a9a/doc/threat.html ):
 
#A acts as #R for getting the identity of #S, by the pic given in step2. 
    This require specific interaction with each #S and hence not relevant to 
        bulk operations such as of nsa etc.
    Step1:
    Step2:
    Step3:
    Step4:    
#A acts as #W for?
    Step1:
    Step2:
    Step3:
    Step4:
#A acts as #S for?
    Step1:
    Step2:
    Step3:
    Step4:*/
// Q) using bitmap.clone?  and SHA-3? http://hashlib.codeplex.com/
/* hashing the data in a rectangle in its source, where
relative to its source its starting point is at (x,y), its size being (w,h) is
randomly feed, the resulted hash is put into an array
(to be hashed after all rectangles are hashed) and then */
 
 if( 0<=x+w<=source.x && 0<=y+h<=source.y)
    {if(horizontally_walking) { x+=w ; if(min_h>h)min_h=h;}
     else                     { y+=h ; if(min_w>h)min_w=x;}}
  else{if( 0<=x+w<=source.x){
        }
       else{
        }
  }
 
/*???
 
Privately or in crypto party fashion done, but without
being associated with any governmental
document/data. This is the most sensitive part, where
meet(#S) could be made separated. Bulk operations by
#A are harder to be made.
 
- the subject being transferred, such as a coin,
money , ownership, delivery or document of accountability etc.
 
Communally - encrypted for each of the witness/es being a member or their operator/s: 
The stamped(#S&#R) is sent
To Log(Reputation(#S)) of which key is ^r and
To log(transactions(#W)) of which key is ^t,
where {H(^t(object)),encrypted-for-#S(secret/password)} is held by the object being transferred, 
but only after, the existing hash had been successfully checked, by each #W, for proving 
#S being the privileged for transferring that object,
where #S keeps, for such a prove, the ^t of the held hash and the secret/password, 
per each object and sends to #W the id of the object and the ^t of the hash it holds.
For to hide correlation, the objects should be updated at once and periodically, like daily.
 
stamped(#S&#R) = sign_by#S_and#R(encrypted-for-#S(H(picture(#S)))).
#S should sign to prevent #A from pretending to be #R and signing false stamp.*/

The ownership over the code might be comcomized by specific owners of these comcom user pages.

Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +

By comcomistcomcomist, on 20 Mar 2014 02:08 Tags: iiaom

~~Page's End!~~ Ignore ads by installing adblockplus.




Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License