Communication system and method
Abstract
There is provided a system, including a network that is defined by its novel approach to privacy, security and freedom for its users, namely privacy by allowing access anonymously, security by encrypting and obfuscating resources and freedom by allowing users to anonymously and irrefutably be seen as genuine individuals on the network and to communicate with other users with total security and to securely access resources that are both their own and those that are shared by others with them. Functional mechanisms that the system are able to restore open communications and worry-free access in a manner that is very difficult to infect with viruses or cripple through denial of service attacks and spam messaging; moreover, it will provide a foundation where vendor lock-in need not be an issue.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of protecting data in a peer-to-peer network of a plurality of nodes, comprising:
splitting the data into a plurality of data chunks of one or more sizes, wherein the one or more sizes are randomly calculated based on the data; obfuscating the plurality of data chunks by swapping individual bytes of each data chunk with individual bytes of every other data chunk until all bytes of each data chunk are swapped; encrypting the plurality of obfuscated data chunks; and storing the plurality of obfuscated and encrypted data chunks at the plurality of data storage nodes.
2 . The method as set forth in claim 1 , wherein encrypting the plurality of obfuscated data chunks further comprises using a hash value of a given data chunk of the plurality of obfuscated data chunks as an input to an encryption algorithm to encrypt a next given data chunk of the plurality of obfuscated data chunks.
3 . The method as claimed in claim 1 , wherein encrypting the plurality of obfuscated data chunks further comprises using a symmetric encryption algorithm.
4 . The method as claimed in claim 1 , wherein encrypting the plurality of obfuscated data chunks further comprises:
determining hash value of the plurality of obfuscated and encrypted data chunks; applying the modulo division function to the determined hash value of the plurality of obfuscated data chunks to generate a random number; and using the random number and the hash value of the plurality of obfuscated data chunks to encrypt the data chunk.
5 . The method as claimed in claim 1 , wherein encrypting the plurality of obfuscated data chunks further comprises: employing an encryption key derived from known information from another of the plurality of data chunks.
6 . The method as claimed in claim 1 , further comprising:
maintaining multiple copies of the obfuscated and encrypted data chunks at the plurality of data storage nodes; regenerating, from uncorrupted copies of the obfuscated and encrypted data chunks, one or more replacement obfuscated and encrypted data chunks; and when any obfuscated and encrypted data chunk becomes corrupted, replacing the corrupted data chunk with a corresponding one of the replacement obfuscated and encrypted data chunks.
7 . The method as claimed in claim 1 , wherein the splitting, the obfuscating, the encrypting and the storing are performed by a first user;
the method further comprising: decrypting and de-obfuscating the obfuscated and encrypted data chunks by a second user cooperating with the first user over a secure data, video and/or audio communication link.
8 . The method as set forth in claim 1 , further comprising naming the plurality of obfuscated and encrypted data chunks using corresponding hash values of the data chunks.
9 . The method as set forth in claim 1 , further comprising repeating the swapping a number of times equal to the number of the plurality of data chunks.
10 . The method as set forth in claim 1 , further comprising, recording, in at least one data map stored in encrypted form at one or more of the plurality of data storage nodes, identities of data storage nodes at which the plurality of obfuscated and encrypted data chunks are stored.
11 . A computer program product for protecting data in a peer-to-peer network of a plurality of nodes, the computer program product residing on a non-transitory computer-readable storage medium and comprising instructions which, when executed by a processor, cause one or more computers cooperating over a secure data, video and/or audio communication link to:
split the data into a plurality of data chunks of one or more sizes, wherein the one or more sizes are randomly calculated based on the data; obfuscate the plurality of data chunks by swapping individual bytes of each data chunk with individual bytes of every other data chunk until all bytes of each data chunk are swapped; encrypt the plurality of obfuscated data chunks; and store the plurality of obfuscated and encrypted data chunks at the plurality of data storage nodes.
12 . The computer program product as set forth in claim 11 , wherein the plurality of obfuscated data chunks are encrypted using a hash value of a given data chunk of the plurality of obfuscated data chunks as an input to an encryption algorithm to encrypt a next given data chunk of the plurality of obfuscated data chunks.
13 . The computer program product as claimed in claim 11 , wherein the plurality of obfuscated data chunks are encrypted using a symmetric encryption algorithm.
14 . The computer program product as claimed in claim 11 , wherein the plurality of obfuscated data chunks are encrypted by:
determining hash value of the plurality of obfuscated data chunks; applying the modulo division function to the determined hash value of the plurality of obfuscated data chunks to generate a random number; and using the random number and the hash value of the plurality of obfuscated data chunks to encrypt the data chunk.
15 . The computer program product as claimed in claim 11 , wherein the plurality of obfuscated data chunks are encrypted using an encryption key derived from known information from another of the plurality of data chunks.
16 . The computer program product as claimed in claim 11 , wherein the instructions, when executed on a processor, further cause one or more computers to:
maintain multiple copies of the obfuscated and encrypted data chunks at the plurality of data storage nodes; regenerate, from uncorrupted copies of the obfuscated and encrypted data chunks, one or more replacement obfuscated and encrypted data chunks; and when any obfuscated and encrypted data chunk becomes corrupted, replace the corrupted data chunk with a corresponding one of the replacement obfuscated and encrypted data chunks.
17 . The computer program product as claimed in claim 11 , wherein the splitting, the obfuscating, the encrypting and the storing are performed by a first of the one or more computers and wherein, the instructions, when executed on a processor, further cause a second of the one or more computers to decrypt and de-obfuscate the obfuscated and encrypted data chunks.
18 . The computer program product as set forth in claim 11 , wherein, the instructions, when executed on a processor, further cause the one or more computers to name the plurality of obfuscated and encrypted data chunks using corresponding hash values of the data chunks.
19 . The computer program product as set forth in claim 11 , wherein, the instructions, when executed on a processor, further cause the one or more computers to repeat the swapping a number of times equal to the number of the plurality of data chunks.
20 . The computer program product as set forth in claim 11 , wherein, the instructions, when executed on a processor, further cause the one or more computers to record, in at least one data map stored in encrypted form at one or more of the plurality of data storage nodes, identities of data storage nodes at which the plurality of obfuscated and encrypted data chunks are stored.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.