NinChi

From VNetWiki

Jump to: navigation, search

NinChi is a communication system designed to facilitate censor-proof anonymous communication. The concept is loosely based on XML technology.

Features

  • Ajax based
  • Distributed
  • Encrypted
  • Secure Authentication

Contents

[edit] NinChi XML Tags

Instead of using pre-defined tag names, 6 random tag names are used. These tag names can be chosen by the user posting messages, or can be randomly chosen from a dictionary.

[edit] NinChi Message Structure

NinChi messages are released in 5 copies, preferably on 5 different servers. Each message contains links to the users previous five messages and next 5 messages. This distributed, redundant method makes it more difficult to delete a message from the internet since 5 web hosts would need to be shut down to stop a single message.


     <?xml version="1.0" ?>
     <tag_1>
        <tag_2>message text <tag_3>link</tag_3> message text <tag_3>link</tag_3> ...</tag_2>
        <tag_4>URL to previous message (n-1)</tag_4>
        <tag_4>URL to previous message (n-2)</tag_4>
        <tag_4>URL to previous message (n-3)</tag_4>
        <tag_4>URL to previous message (n-4)</tag_4>
        <tag_4>URL to previous message (n-5)</tag_4>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
        <tag_6>URL to next message (n+1)</tag_6>
        <tag_6>URL to next message (n+2)</tag_6>
        <tag_6>URL to next message (n+3)</tag_6>
        <tag_6>URL to next message (n+4)</tag_6>
        <tag_6>URL to next message (n+5)</tag_6>
     </tag_1>

Implementation note: Empty tags may be omitted as long as there is at least one of each tag, otherwise empty values can be used. All trailing empty tags may also be omitted. The following structure is an example of a users first post which has excluded unnecessary tags.

     <?xml version="1.0" ?>
     <tag_1>
        <tag_2>message text <tag_3>link</tag_3> message text <tag_3>link</tag_3> ...</tag_2>
        <tag_4></tag_4>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
        <tag_5>URL to message copy</tag_5>
     </tag_1>

[edit] NinChi Edit Authentication

When posting a message a secret password must be used. This password will be used for editing posts so that when the user makes new posts they can put the urls in their previous messages.

[edit] NinChi Encryption

The text content of NinChi tags must be encrypted in two layers.

1. Text is encrypted by being xor'd against the tag name repeated to equal the message length

2. The resulting cyphertext is then base64 encoded adding spaces before and after to facilitate directly encrypting DOM text nodes.

[edit] Web Service Definition

Todo: Establish standard API for posting and editing NinChi messages

Personal tools