What is GoldBug?


GoldBug is a secure Instant Messenger. You can be sure with using GoldBug (GB), that no third party can look testinto your chat communication. Private user-to-user communication remains private. GoldBug therefore uses strong multi-encryption with different layers of modern encryption technologies of well known and revised crypto libraries (like libgcrypt (GnuPG) and OpenSSL). The app offers as well decentral and encrypted Email and decentral public E*IRC-Chat.


Learn more about GoldBug »

Why encryption matters:


Today mostly every WIFI is protected with a password. In a few years as well every plaintext message or email to friends over the internet will be encrypted too. It is not a question to have something to hide or not, it is a question to control by yourself the security of your communications - or having it controled by others. Strong-Multi-Encryption ensures the declaration of human rights in broad constitutional consensi and is a digital self-defense, everyone needs to learn and utilize. GoldBug is the easy to use tool for that.

Get involved with GoldBug »

GoldBug Features

Tails Icon

Encypted 1:1 Chat

GoldBug encrypts your private chat to a friend with RSA-Keys, SSL and end-to-end encryption.

Orbot Icon

Encrypted Groupchat

With all your friends you can create a group chat to all your friends just by selecting all.

Tails Icon

Public/Priv. RSA Keys

GoldBug uses public/private RSA keys. The public key must be exchanged between friends.

Orbot Icon

Repleo:

Either you send your key in plaintext or you use the Repleo, which encrypts your key itself.

goldbug Icon

Gemini

The Gemini is an AES-end-to-end encryption for chat and an additional layer of encryption.

Arm Icon

GoldBug-Passphrase

Secure your GB-Emails with a passphrase per each email. This is called a GoldBug-Phrase.

goldbug Icon

p2p Email

Next to Chat: GoldBug offers you serverless p2p Email without data retention. Integrated BitMail.

Arm Icon

e*IRC

Public Chat is provided with e*IRC, which is echo-ed IRC: Groupchat on AES Channels.

goldbug Icon

MELODICA

The MELODICA Button provides instant forward secrecy. Renew your Gemini in a second!

Arm Icon

Instant Fwd Secrecy

Session AES-keys are inde-pendent from longterm RSA-keys. Use MELODICA often!

Atlas Icon

Opt. Authentication

GB provides optional use of signatures, for authenticated Chat & Emails. Trust, when needed.

Obfsproxy Icon

Chat over Tor-Proxy

Yes, GoldBug can be used over the Tor-Proxy. It is a new TorChat Application.

Vidalia Icon

Echo Protocol

Next to encryption & f2f Email: Echo is a new algorithm, that makes GB resistant to tracking.

Cloud Icon

Half Echo Modus

Half Echo sends messages only directly to one friends IP.Exclude others to ever get your message.

Vidalia Icon

Simulacra-Scrambler

The simulacra sends out random fake messages from time to time. And No, it´s not the Mona Lisa.

Cloud Icon

WoT-Deniability

The Half Echo Modus creates a deniability for a web-of-trust (f2f) in a p2p-environment.

FAQ

Is GoldBug really secure?

GoldBug uses modern technology based on open source libgcrypt libraries to encrypt the data. Not only the communication over the internet is encrypted several times with different methods, as well the application stores your data in an encrypted database. Even if Online-Banking (HTTPS) would be regarded not as secure anymore, GoldBug still will be: therefore it uses a mixture of a kind of public/private-PGP-Key/RSA-encryption - optionally with e.g. AES encryption. So it is additionally assured with (hash-salted) session keys and AES end-to-end encryption. Instead of AES you can of course choose some other given ciphers. It is your choice. Last not least, all that multi-encryption is sent over a secured SSL connection. The SSL connection is not founded on any central certificates of a server, which could be backdoored, instead SSL is used the p2p way, so that there is no central instance, which could sell your trusted certificate to third party. The SSL-certs are self-signed. Furthermore you can sign every message and email. This is an option, as well unsigned messages can be sent. OpenSSL is used for key derivation and encryption for each socket. The personal keys that you own (chat, email, url) are made by libgcrypt and are independent of OpenSSL. There are a total of six pairs of keys that this app generates at the beginning of the initial setup.

Who can set up a server?

Everyone. Everyone can and should setup a chat server for GoldBug. It is quite easy to create a Listener (listening port) for your friends, if you can manage to make it acessible on your web (which means often to forward the chosen port in your router/nat or to set it up not at home, but directly on a webserver. The installation does not provide currently any server IP, so set up one for your friends to test. Or find server IPs on boards and forums. Some forums, boards or internet service communities have an own Echo-Server. Just ask at your board. A E*MPP-Server - a server for the "Echoed Messaging and Presence Protocol" - short: Echo Protocol - connects to only one or many clients. And servers of course as well. That all means: there is no central server and everything is decentral like any Jabber chat server. The difference is that this chat server does not allow any plaintext communication and: chat servers connected to chat servers announce within a p2p network their existence. Once you are connected, you should be able to connect to one or several chat servers/listeners of the decentral p2p-net.

Hence, EMPP chat servers define a new state of the art. For that it is highly recommended to think about jabber server software (and even jabber clients) being hybrid with the echo-protocol of libspot-on, which GB deploys too.

Multi-Encryption: What technology do you use?

The technology is most modern, next to libgcrypt and a the pgp-like-method over SSL with optional AES end to end encryption the whole client is using a new protocol, the Echo. Echo is currently deployed by the library libspot-on. Spot-On requires Qt 4.8.5 or Qt 5.1.x, libGeoIP 1.5.1, libcrypto 0.9.8 or later, libgcrypt 1.5.x, and libssl 0.9.8 or later. Qt 4.6.3 is also supported.

What is Key, Repleo? Gemini and GB?

When you want to connect to a friend, you need to send him or her your key, you find it in the key-tab. Once your friend has added your key, you need to select your friend in the chat tab (participants list) and copy the so called "Repleo" (of this dedicated friend, so select him first). The Repleo needs to be sent back to your friend and once it is added there too, you both will get connected. Furthermore you should of course connect to an IP of your chat server or a third friend, which has set up a listener in servermode. As long as chat servers are not connected to other chat servers, it makes sense, that both friends use the same chat-server-IP. Furthermore: The Gemini is a feature to add another security layer to the chatroom with an AES Key for end-to-end encryption. Third: The GoldBug-feature is used in the integrated email client to add here as well an end-to-end AES-Encryption layer - the GoldBug , or: just a password, both users use to encrypt their emails once more. So with the Gemini or GoldBug, you need a kind of password (e.g. AES-string) to open the email of a friend or to be able to chat with him.

How is p2p Email to Offline Friends working?

You have a chat partner who is offline? No problem, send him an email with the GoldBug Messenger. Let´s go to the email-tab. The email system based on the echo-protocol has no central servers and each email to an offline friend is stored in a cache of your other trusted friends. It is not stored on the network or any foreign nodes, only your direct chat partner take care for your personally encrypted envelopes and deliver it to the offline friend, when he is coming online. Currently no p2p Email system allows to send out email using this kind of security architecture. POP3 and IMAP are outdated in regard of security, as any post box could be created just by everyone with setting up an EMPP chat server. Test this email-feature with at least 3-5 friends to get the full impression of emailing with GoldBug in a secure way. Because of the multi-encryption it is more secure than Gnupg and it needs no central pop or imap server due to the decentral architecture. Data retention is brought back to private responsibility with the echo-mail.

What can the echo do to secure an encrypted Web of Trust (WOT)?

"First: Hide in the network."
Bruce Schneier

There are three reasons why Web of Trust (WoT) architectures and even Friend-to-Friend (F2F) so called "Turtle-Hopping" Networks might be considered insecure.

As trackers are regarded to map everything and analyse a hopping at least of three hops to friends, it is quite easy to know, who is trusting whom. This can be analysed from outside of a WoT, but also inside the WoT, as a Web of Trust shows, who is trusting whom by nature. So, if data retention (VDS) is tracking every social network connection, then a WoT does not provide anonymity on the one hand.

With the echo-protocol everyone has every message - not only your WoT members - and it is highly complex to map that network. Though - at the same time - you can use a so called "half echo" modus, which creates a F2F network within the P2P network. Every Node decides, if one or in general all connections should be full or half echoed. In case a half echo is utilized, your message will be sent only to the direct connection and stops there. You have created a WoT within the general network. Deniability: With 'half echo' you cannot determine a private communication within the general echo network. So second, within a p2p network you have created a plausible deniability of a Web of Trust.

While other networks discuss the pro and cons of p2p and f2f networks, GoldBug deploys both and creates an individual option to set as slider between two ends: choose either detachement towards network-mappers or build non-determineable direct trust-connections. YOU define, how to communicate over the echo with your friends in the GoldBug Messenger.

Third, GoldBug introduces a kind of Distant Chat. With GoldBug you can message as well to friends, which are outside of your WoT, which are not directly connected to you - but still with the same trust and signature, as you have exchanged keys (Repleo). Ever tried to disconnect a trusted friend while keeping the secure communication and trust?

You see, a WoT is easily mappable, it is not anoynmous as you cannot disconnect a trusted friend while keeping the signed trust and communication and third you cannot create a plausible deniability of having utilized a WoT, if you use a WoT. Adding echo to a WoT brings real added value to the IT architecture. The future will bring a lot of research to the comparison of web of trust models for chat based on security, detachment, signatures and encryption.

Fourth: GoldBug has the option for authentication and non-authentication, in case you choose not to sign your messages, you also have no need for deniability. The wish for "plausible deniability" (compare analogy of: a-theism) has turn into a "conscious state for no need of deniability" (compare analogy of: a-gnosticism). In case you combine e.g. authentication within e.g. direct connections ("signatures" as an option with "half echo" as an option and "super echo" as an option) - then you have a web of trust hidden in the network. This "conscious state for no need of deniability" could be called "agnostic deniability".

Some serverbased messengers, which are originally not made for a secured connection and communication, need Addons to encrypt the communication. In a surveilled environment the connection pathes are still very easy to map: Alice sends to the server and Bob receives it from the server. It is possible to encrypt the communication with some provided addons, but the graph will not be hidden. Network analysts know at every time it is: A(lice, plaintext) -> S(server, plaintext) -> B(ob, plaintext), even if encrypting tools are deployed: A(lice, ciphertext) -> S(server, ciphertext) -> B(ob, ciphertext).

How strong are the Encryption-Keys?

GoldBug and its underlaying libraries use strong encryption. Public/Private-RSA-Key less than 2048 are regared as insecure and weak. Passphrases should have 16 digits and End-to-End Encryption keys need at least 32 digits with real random generated charakters like the AES-256 standard.

Can I run GoldBug over Tor or a Proxy?

Of course, that is possible. You can use any proxy of the web or Tor to connect from your GoldBug to any neighbor or chat server. Due to the fact that the chat protocol uses HTTP, you should be even able to create a chat server and listener for GoldBug using a so called TOR hidden service. But this has not yet been tested and would be a task for the Tor-community to run the chat and echo over Tor. As well firewalled environments are not a problem, as long as you are able to do online banking and have an accessible chat server within your IT-environment/country.

GoldBug is Open Source BSD License?

Yes, GoldBug is open source with the BSD license (for the deployed Libraries see here). That means you can revise the code and use it to create your own application. In a time in which you cannot be sure if operating systems, communication applications or drivers of hardware like network switches and keyboards, who knows, or even anti-virus-software updates might send you backdoors onto your machine or send out private data or email passwords, open source code has become a milestone in security. Dont trust closed source operating systems, applications, drivers or updates. It is highly appreciated that GB source code is revised and used for the development of your own client. Y0u find the source as an own Zip in the download section, as a subpath in the installer-Zip of the Application or in the SVN repository libspoton. LibSpotOn uses libgcrypt and OpenSSL as is without modification. The deployed crypto-libs might not use a BSD license, e.g. libgcrypt is LGPL, but as these are not modified and there is no "derived code", it is possible to deploy these libs in the BSD licensed App (with BSD license for for Gui and Kernel).

Will GoldBug be released on mobile devices?

Currently GoldBug is provided as a release version for the Windows 7 operating system. The source code provides as well Mac OS X and several Linux compiling settings. A mobile compile is intended, hence the drafted(!) sketches for a mobile design at this site, but not yet released. Android should be possible, as well as linux operating systems like sailfish or ubuntu mobile. Developers with dedicated devices and compiling skills are requested to provide binaries for GoldBug and join the project or set up a mod-project on their own. however, the encrpytion will alwayse be done on your device - clientsided. There is no browserbased webservice which offers that for you, as this is regarded as compromisable. You have to install a client, the app.

Does GoldBug save every message on a server?

GoldBug has no central sever, so nothing is saved on a corporate server. Everything is userbased and decentral. In case you email to an offline friend, the message is stored in your trusted chat friend, which are currently online. So have a few friends in your GoldBug: The decentral approach requires of course that you maintain at least a small network of users, you are connected with. If you do not want to use these decentral approach, you can set up your own dedicated server or use the 'half echo' -modus, so that your message is sent only to one participant over one dedicated connection.

Does the network scale?

Yes. There is no need to think theoretically. Set up a chat-server for your university or community and you see, you will be able to handle any chat like any other chat server. In case you want to join several neighbors, while you are not knowing to which neighbor your friend is connected to, there have been good tests so far with other p2p applications. Every email uses several servers, so can you do the messaging as well with the echo protocol. In case we speak of several hundred-thousands of users there are of course some fast machines needed and your friends should use some countrybased or institutional-based chat severs. The small world phenomen has the paradigm, that you are connected to everyone over seven hops. So just test it out in practice.

What about authentication and forward secrecy?

GB guarantees with the implemented signature for authentication that the sender is who you think it is. If you receive a message from a contact whose fingerprint you verified, you are sure it can not have been sent by someone else. Furthermore GB offers a way to additionally encrypt all messages using a instant-shared symmetric-key (the “Gemini”). The MELODICA feature guarantees a proper management of these keys (changing them often) with instant forward secrecy. Obtaining someone’s private RSA-key is not enough to decrypt their past conversations.

Why the Name?

GoldBug was the title of a short story of Edgar Allan Poe about cryptograms in 1843. In the short story Mr. LeGrand, who was recently bitten by a gold-colored bug, starts an adventure with two other friends after deciphering a secret message. Poe took advantage of the popularity of cryptography and the success of the story centers on one such cryptogram. "The Gold-Bug" was an instant success and was the most popular and most widely read of Poe's works during his lifetime. It also helped to popularize cryptograms and secured writing.

What is the Echo Protocol of LibSpot-On?

The echo protocol means in simple words, you send only encrypted messages, but you send the one message to all of your connected friends. They do the same. You maintain your own network, everyone has every message and you try to decrypt every message. In case you can read and unwrap it, it is a message for you. Otherwise you share the message with all your friends and the message remains encrypted. If you use the modus "half echo", then your message is not shared with other participants. Echo is very simple and the principle is over 30 years old - nothing new. As echo uses HTTP as a protocol, there is no forwarding or routing of messages, as you send your message e.g. from your home laptop to your webserver. That is similar as if you send an encrypted zip from your home to your own webserver. The process starts at each destination new - as you define it. With echo, you start not only a new protocol, but also a new dimension of networking and thinking. Echo is not p2p nor is it f2f, it adds a third category into the net world, which of course can bridge p2p to f2f and create not-determined WoTs connections with the half echo. The super-echo is an option to forward a message even in that case, that you could have read it. This will make analysis (in a simple environment, so called "triangulation of the destination") senseless, in which two nodes as an anylizer are connecting to one other node and a forth node is sending a message: With the GB- option "Super-Echo" every analyzing node is getting the message in every case (readable messages are as well processed to neighbors).

GB has a new encrypted IRC Chat implemented?

Next to the implemented private chat and implemented offline email, GoldBug Messenger integrates as well an IRC chat for public channels and IRC rooms. The IRC protocol has been defined new with the echo, as the chat is not based on the irc protocol, the poper name would be E*IRC = Echo*IRC. GoldBug has currently implemented only one channel - how could it be, it is: goldbug (in small letters). All people, connected to one IP, just need to enter the room name, e.g. "goldbug" and they are connected within the room. The advantage is, that this channel is created based on an AES-key. Every connection to this room is encrypted and cannot be read by any ISP - as long as the channel name is not known. Example: Two friends at a party or at the online chat can agree to find a common word as a channel name, they only both know. Ask your girlfriend: "What is the pet we both like most?" - She thinks: "Dalmatian". And you connect now within this room. Qt-IRC clients (like Quassel or KVIRC) are kindly requested to implement the echoed IRC. One client, which already declared to add E*IRC functionality will be http://netsplit.sf.net - Qt-Developers are appreciated to join. Netsplit is in oldstyle IRC a well known phenomen: if several IRC servers are disconnected, the room members are splitted. Which means on the opposite: When different server IPs have the same room name hosted, and both servers connect - all the members of the same room behind the milky way will join the same named channel. With GolbBug E*IRC servers, which connect as well to E*IRC servers, the netsplit is transcended: two rooms are bridged into one. For the 'goldbug' channel-room you get more users, when you add several chat servers to your messenger.

End-to-End-Encryption: What is the MELODICA Function?

With the MELODICA button or (right mouse click) context menu you call your friend and send him a new Gemini (AES-256-Key). The Key is sent over your asymmetric encryption of the RSA key. This is a secure way like the sneakernet to transfer end-to-end keys, as all other plaintext transferals like email, spoken over phone or in other messengers have to be regarded as unsafe and recorded. MELODICA stands for: Multi Encrypted LOng DIstance CAlling. You call your friend even over a long distance of the echo protocol and exchange over secure asymmetric encryption a Gemini (AES-256 key) to establish an end-to-end encryted channel. As the Gemini is a shared secret, how will your transfer it over the insecure internet? How to transfer a symmetric key safe and secure? Just use MELODICA, which provides a key transport based on public key encryption. You can press the button at any time when your friend is online and quickly generate a new Gemini unique at both sides. MELODICA has been introduced with GoldBug libspoton version V02 (which is not backwards compatible with kernel and gui of V01 - please update).

Can I join the development or contribute ?

Of course you can: spread the word, add a notice to your blog, test the software, download the source code, invite friends, add translations, evaluate the code, contribute code to the given echo projets or create your own client based on the echo or implement it hybrid or as a plugin into given applications referring to communication, which should be secured. Most important: create a listener, which is reachable from the web on your webserver or at home, by proper forwarding your chosen port in your router/nat. Or write a RFC. Since the libspot-on release echo is open for research and GB-Messenger added a cool userinterface (ui) to it: Either research echo as is or its way of thinking as added value for other applications and protocols. As well in the given echo-apps like GoldBug some features might be of interest: Email currently has no attachement and you might ask about echo beeing a webproxy between two nodes (á la psiphon) or you think of echo-torrents?! Learn to understand what echo is and rethink given protocols based on the echo. GoldBug is just a simple design study of the user interface for the spot-on library, which deploys the echo. Jabber, Torrent, Pop3/IMAP, IRC and are not up to date anymore in case you consider the echo. Please update.

Has the code been revised?

The code and implementation is under a very high level quality control by the professional development and it is an open source contribution of several communities for the used and revised libs included. Be part of this contribution. External evaluations have proven it clean: e.g. "FreewareFiles tested GoldBug Instant Messenger 0.4 on 2013-09-03 using leading antivirus scanners and found it 100% Clean. It does not contain any form of malware, spyware, viruses, trojans, etc. We will re-test each updated version."

How can I see, what is transferring?

Either use Whireshark or you just set up a non-ssl Listener on 127.0.0.1 and connect your browser to http://127.0.0.1:4710/ and you will see all transferred http code like this:

POST HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 5098

content=WDV5a2Q2RTFvS0lhcE5LKzJrMXpjWmxMMTdycVFZbzE5eVhxdXBLdE5LdFNlNFZ6RFd
BSzVoYjNqQWFRcEJ4SHNqeEVEb3hKcHg4OG1aUG5BZnBHcEx0WGFDT3BOM2VDL0RMTXI1
c5VitoWm9EOUt1NkEwY082byt6QjkrZzdrYWVrVkdjUVR4RVNLWnhFSTQwdjAzUEN2YktNaGNZ
UJkMGhvQ2RPZ056cy9xSjh5RTI1VlJwYzVsNmtWdml2UVM2UHlQVUVBQnBzZDZISE1LbzBIenV
NUJZdmkvQit2ODg0S1AxRWxVc2lldmFUVVhRUDkvVjNPZkkwRjNadE1Ib28zbVd3WXd5Y1VYNW
1MU4wQTBrU3RVQXZra1QxdVo5Unh0WjNEMUJkQ080Z0hiM2dEVnd2RVpVSVBqZEJHanNuZm8
ZyRUN0QTR5QVZReHNOQTNiMVdyd1JCSFhPNUx5b3IzeXNOU1Z2djFReGUxblhObGtYZi9kNUt0
UZEeXpUako0eGxub0U4OGNLbkpReXVjNHcxZjRRK0gweTRVbHE3RXJYbVVjK3pwRnZrNENhU0Z
YTNscEhKNWlyQWRqcnlpellCOU9tdkJ5TFQwU3c3VWt4UGNLL3Z3N2tqU2FXSHpLZ2hQMDJ6W
sK010RzNLRWtlbkdsWkY3TC9WQlllOHNEWmwxMnJpdTZhSHFiSHorRGptMWtKMGZPMkRZQl
43QlcrOVFGcGVlOEtVblY2MFNtMks3ZjZuTCtmdUFvQy8yYzduY0tqbmo4Wjlrdm9nZGlXM3hwR
DJSaCsvVmU1bEpJU1dFRjFNRnlTZFk3TEFrTGJBdVZoZUpFY1Ntb1lrRHc1bFVFRWZNN21SUn
ckhTKzFnWnVGVVJZSVRKM3hod0R4RFdZbVZlU0pjQWVvN045enVaR0w5ckNMaXg2OFhuMj...

Is there a graphic-scheme for the encryption model ?

66 Vocabularies learned at the School of Privacy

AES

The Advanced Encryption Standard (AES) is a specification for the encryption of electronic data. It is based on the Rijndael cipher[5] developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen. AES has been adopted by the U.S. government and is now used worldwide. It superseded the Data Encryption Standard (DES) in 2001. Bruteforcing 256-bit keys is simply beyond the capability of classical computing, and potentially still impossible even after the advent of efficient quantum computers. To get how long it takes, you divide half the number of total keys by the number of keys you try per-year, which gives you about 10^22 years, which is pretty much forever since the universe is only about 10^10 years old. In GoldBug the AES key is deployed by the MELODICA function or set manually with the Gemini and Email Passphrase-Option.
http://embeddedsw.net/Cipher_Reference_Home.html#AES

Authentication

Description will follow.

Algorithm

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations.
In computer systems, an algorithm is basically an instance of logic to produce output from given input (perhaps null).
Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions, making such algorithms hard to break in practice by any adversary. It is theoretically possible to break such a system but it is infeasible to do so by any known practical means. These schemes are therefore termed computationally secure; theoretical advances, e.g., improvements in integer factorization algorithms, and faster computing technology require these solutions to be continually adapted. There exist information-theoretically secure schemes that provably cannot be broken even with unlimited computing power—an example is the one-time pad.

Base-64

Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding.
Base64 encoding schemes are commonly used when there is a need to encode binary data that needs to be stored and transferred over media that are designed to deal with textual data. This is to ensure that the data remains intact without modification during transport. Base64 is commonly used in a number of applications including email via MIME, and storing complex data in XML.

BitMail

BitMail is the name used in GoldBug for the Email client.

Buzz

Buzz is the name of the libspoton to provide echoed IRC (e*IRC). So Buzz is another word for IRC, respective e*IRC, used by the library.

c/o

"Care of", used to address a letter when the letter must pass through an intermediary (also written c/o). Neighbors are often asked to care of your postal letters, in case you live with them in one house or have a relationship to them. As well parcel stations, letter boxes or just persons e.g. at you home or in the neighborhood provide a local delay of your envelopes and parcels, in case you are at work and want to receive the parcel or letter in the evening. The included Email Function of GoldBug provides such a feature.

Call

A call is new defined by the library libspoton. A "Call" with the MELODICA feature of GoldBug means, to transfer over a public/private key encrypted environment a symmetric key (e.g. AES) - a password for the session talk, only the two participants know. With one click on the MELODICA button you can instantly renew the end-to-end encryption password for your talk.

Congestion Control

Congestion Control provides a cache, so that messages, you already are aware of, are not processed to neighbors anymore. This helps especially for mobile devices and webservers running GoldBug to reduce redundancy and process messages faster.

Decentral

Decentralized computing is the allocation of resources, both hardware and software, to each individual workstation, or office location. Decentral means, there is no central server nor a webinterface, you can lof into a service. A client needs to be installed and adjusted locally on your device. Another term is: Distributed computing. Distributed computing is a field of computer science that studies distributed systems. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. Based on a “grid model” a peer-to-peer system, or P2P system, is a collection of applications run on several local computers, which connect remotely to each other to complete a function or a task. There is no main operating system to which satellite systems are subordinate. This approach to software development (and distribution) affords developers great savings, as they don’t have to create a central control point. An example application is LAN messaging which allows users to communicate without a central server.

Deniability

Description will follow.

DNS

The Domain Name System (DNS) is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates easily memorized domain names to the numerical IP addresses needed for the purpose of locating computer services and devices worldwide.
Dyn (aka DynDNS) is an infrastructure as a service company (like many others) that provides Internet DNS and email delivery services for commercial and private users.
It originally provided a free dynamic DNS service, which allowed users to have a subdomain that points to a computer with regularly changing IP addresses, such as those served by many consumer-level Internet service providers.

e*IRC

The IRC protocol has been defined new with the echo protocol, as the chat is not based on the irc protocol, the poper name would be E*IRC = Echo*IRC. GoldBug has currently implemented only one channel - how could it be, it is: goldbug (in small letters). All people, connected to one IP, just need to enter the room name, e.g. "goldbug" and they are connected within this group chat room. The advantage is, that this channel is created based on an AES-key. Every connection to this room is encrypted and cannot be read by any ISP - as long as the channel name is not known.

Echo

The echo protocol means from an operational view: you send only encrypted messages, but you send your to-be-send-message to all of your connected friends. They do the same. You maintain your own network, everyone has every message and you try to decrypt every message. In case you can read and unwrap it, it is a message for you. Otherwise you share the message with all your friends and the message remains encrypted. Echo is very simple and the principle is over 30 years old - nothing new. As echo uses HTTP as a protocol, there is no forwarding or routing of messages: no IPs are forwarded, e.g. like it is if you send your message e.g. from your home laptop to your webserver. The process starts at each destination new - as you define it. The echo protocol provided by libspoton has nothing to do with RFC 862. The new echo protocol RFC has to be written new. With or without that number.

Echo, Full

With the modus "full echo" your message is forwarded from friend to friend and so on, until the recipient could decrypt the envelope and read the message. It requires a few connections to neighbors in a p2p network.

Echo, Half

If you use the modus "half echo", then your message is not shared with other, third participants (Model: A -> B -> C) . Only direct connections are used (Model A -> B). It requires only one direct connection to one friend.

Encryption, asymmetric

Public-key cryptography refers to a cryptographic system requiring two separate keys, one of which is secret and one of which is public. Although different, the two parts of the key pair are mathematically linked. One key locks or encrypts the plaintext, and the other unlocks or decrypts the ciphertext. Neither key can perform both functions by itself. The public key may be published without compromising security, while the private key must not be revealed to anyone not authorized to read the messages.
Public-key cryptography uses asymmetric key algorithms. A public key algorithm does not require a secure initial exchange of one (or more) secret keys between the sender and receiver. Public-key cryptography is widely used. It is an approach used by many cryptographic algorithms and cryptosystems. This method underpins such Internet standards as Transport Layer Security (TLS), PGP, G(nu)PG and libspoton, which is used for GoldBug. Diffie–Hellman key exchange is the most widely used public key distribution system.

Encryption, clientside

Client-side encryption is the cryptographic technique of encrypting data before it is transmitted to a server in a computer network. Usually, encryption is performed with a key that is not known to the server. Consequently, the service provider is unable to decrypt the hosted data. In order to access the data, it must always be decrypted by the client. Client-side encryption allows for the creation of zero-knowledge applications whose providers cannot access the data its users have stored, thus offering a high level of privacy.

Encryption, Multi-

Multiple encryption  is the process of encrypting an already encrypted message one or more times, either using the same or a different algorithm. Multiple encryption (Cascade Ciphers) reduces the consequences in the case that our favorite cipher is already broken and is continuously exposing our data without our knowledge. When a cipher is broken (something we will not know), the use of other ciphers may represent the only security in the system. Since we cannot scientifically prove that any particular cipher is strong, the question is not whether subsequent ciphers are strong, but instead, what would make us believe that any particular cipher is so strong as to need no added protection. Folk Theorem: A cascade of ciphers is at least as diffcult to break as any of its component ciphers. When a cipher is broken (something we will not know), the use of other ciphers may represent the only security in the system. Since we cannot scientifically prove that any particular cipher is strong, the question is not whether subsequent ciphers are strong, but instead, what would make us believe that any particular cipher is so strong as to need no added protection.

Encryption, strong

Strong cryptography or cryptographically strong are general terms applied cryptographic systems or components that are considered highly resistant to cryptanalysis. An encryption algorithm is intended to be unbreakable (in which case it is as strong as it can ever be), but might be breakable (in which case it is as weak as it can ever be) so there is not, in principle, a continuum of strength as the idiom would seem to imply: Algorithm A is stronger than Algorithm B which is stronger than Algorithm C, and so on. Examples: PGP is generally considered an example of strong cryptography, with versions running under most popular operating systems and on various hardware platforms. The open source standard for PGP operations is OpenPGP, and GnuPG is an implementation of that standard from the FSF.
The AES algorithm is considered strong after being selected in a lengthy selection process that was open and involved numerous tests. The SSL protocol, used to secure Internet transactions, is generally considered strong. Standards of today.

Encryption, symmetric

There are two basic types of encryption schemes: Symmetric-key and public-key (asymmetric) encryption. Symmetric-key encryption is often as well called end-to-end-encryption. In symmetric-key schemes, the encryption and decryption keys are the same. Thus communicating parties must agree on a secret key before they wish to communicate. Symmetric-key encryption can use either stream ciphers or block ciphers. Stream ciphers encrypt the digits (typically bytes) of a message one at a time. Block ciphers take a number of bits and encrypt them as a single unit, padding the plaintext so that it is a multiple of the block size. Blocks of 64 bits have been commonly used. The Advanced Encryption Standard (AES) algorithm approved in December 2001 uses 128-bit blocks. A symmetric structure used in the construction of block ciphers is in cryptography a Feistel cipher, named after the German-born physicist and cryptographer Horst Feistel who did pioneering research; it is also commonly known as a Feistel network.

End-to-End

The end-to-end principle is a classic design principle of computer networking,[nb 1] first explicitly articulated in a 1981 conference paper by Saltzer, Reed, and Clark.
The end-to-end principle states that application-specific functions ought to reside in the end hosts of a network rather than in intermediary nodes – provided they can be implemented "completely and correctly" in the end hosts. In debates about network neutrality, a common interpretation of the end-to-end principle is that it implies a neutral or "dumb" network. End-to-end encryption (E2EE) is an uninterrupted protection of the confidentiality and integrity of transmitted data by encoding it at its starting point and decoding it at its destination. It involves encrypting clear (red) data at source with knowledge of the intended recipient, allowing the encrypted (black) data to travel safely through vulnerable channels (e.g. public networks) to its recipient where it can be decrypted (assuming the destination shares the necessary key-variables and algorithms). An end-to-end encryption is often reached by providing an encryption with the AES Passphrase.

Forward Secrecy

Description will follow.

Friend

A friend-to-friend (or F2F) computer network is a type of peer-to-peer network in which users only make direct connections with people they know. Passwords or digital signatures can be used for authentication.
Unlike other kinds of private P2P, users in a friend-to-friend network cannot find out who else is participating beyond their own circle of friends.

Gemini

The Gemini is a feature in GoldBug Secure Instant Messenger to add another security layer to the chatroom with an AES Key for end-to-end encryption.

Get

The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. The first version of the protocol had only one method, namely GET, which would request a page from a server. The response from the server was always an HTML page. GET requests a representation of the specified resource. Requests using GET should only retrieve data and should have no other effect.

GoldBug

The GoldBug-feature is used in the integrated email client to add here as well an end-to-end AES-Encryption layer - the GoldBug, or: just a password, both users use to encrypt their emails once more. So with the GoldBug, you need a kind of password (e.g. AES-string) to open the email of a friend or to be able to chat with him.

GUI

In computing, graphical user interface (GUI, sometimes pronounced 'gooey') is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation. Qt (/kjuːt/ "cute", or unofficially as Q-T cue-tee) is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI) (in which cases Qt is classified as a widget toolkit). Qt uses standard C++.

Hash

A hash function is any algorithm that maps data of variable length to data of a fixed length. The values returned by a hash function are called hash values, hash codes, hash sums, checksums or simply hashes. A cryptographic hash function is a hash function; that is, an algorithm that takes an arbitrary block of data and returns a fixed-size bit string, the (cryptographic) hash value, such that any (accidental or intentional) change to the data will (with very high probability) change the hash value. The data to be encoded are often called the "message," and the hash value is sometimes called the message digest or simply digest. Cryptographic hash functions have many information security applications, notably in digital signatures, message authentication codes (MACs), and other forms of authentication. They can also be used as ordinary hash functions, to index data in hash tables, for fingerprinting, to detect duplicate data or uniquely identify files.

Https

Hypertext Transfer Protocol Secure (HTTPS) is a communications protocol for secure communication over a computer network, with especially wide deployment on the Internet. Technically, it is not a protocol in and of itself; rather, it is the result of simply layering the Hypertext Transfer Protocol (HTTP) on top of the SSL/TLS protocol, thus adding the security capabilities of SSL/TLS to standard HTTP communications.

Iteration Count

In mathematics, an iterated function is a function which is composed with itself, possibly ad infinitum, in a process called iteration. In this process, starting from some initial number, the result of applying a given function is fed again in the function as input, and this process is repeated.

Kernel

In computing, the kernel is a computer program that manages input/output requests from software and translates them into data processing instructions for the central processing unit and other electronic components of a computer like the graphical user interface (GUI). Kernels are a fundamental part of a modern computer systems.

Key, Public

Description will follow.

Key, Pivate

Description will follow.

Key-Exchange

Description will follow.

Key-Size

Description will follow.

libgcrypt

libgcrypt is a cryptographic library developed as a separated module of GnuPG. It can also be used independently. It provides functions for all cryptographic building blocks: symmetric ciphers (IDEA, AES, DES, 3DES, Blowfish, CAST5, Twofish, Arcfour, Serpent, Camellia, SEED a.k.a. RFC4269, RFC2268), hash algorithms (MD4, MD5, RIPEMD-160, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, HAVAL, Tiger-192 as used by GnuPG <= 1.3.2, Tiger, and TIGER2), MACs (HMAC for all hash algorithms), and public key algorithms (RSA, ElGamal, DSA, Elliptic Curve DSA).

libSpot-On

Spot-On is an anonymous and encrypted distributed, confidential messaging library in the forms of e-mail and near-instant communications.

Listener

In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system. A port is associated with an IP address of the host, as well as the type of protocol used for communication. The purpose of ports is to uniquely identify different applications. Applications implementing common services often use specifically reserved, well-known port numbers for receiving service requests from client hosts. This process is known as listening and involves the receipt of a request on the well-known port and establishing a one-to-one server-client connection, using the same local port number; other clients may continue to connect to the listening port. This works because a TCP connection is identified by the tuple {local address, local port, remote address, remote port}.

MELODICA

With the MELODICA feature in GoldBug Secure Messenger you call your friend and send him a new Gemini (AES-256-Key). The Key is sent over your asymmetric encryption of the RSA key. This is a secure way, as all other plaintext transferals like email, spoken over phone or in other messengers have to be regarded as unsafe and recorded. MELODICA stands for: Multi Encrypted LOng DIstance CAlling. You call your friend even over a long distance of the echo protocol and exchange over secure asymmetric encryption a Gemini (AES-256 key) to establish an end-to-end encryted channel.

Status, online

Description will follow.

Neighbor

Description will follow.

OpenSource

In production and development, open source as a development model promotes a universal access via free license to a product's design or blueprint, and b) universal redistribution of that design or blueprint, including subsequent improvements to it by anyone. Generally, open source refers to a computer program in which the source code is available to the general public for use and/or modification from its original design.

OpenSSL

OpenSSL is an open-source implementation of the SSL and TLS protocols. The core library, written in the C programming language, implements the basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available. OpenSSL is based on SSLeay by Eric A. Young and Tim Hudson.

Padding

Description will follow.

Participant/User

Description will follow.

Passphrase

A passphrase is a sequence of words or other text used to control access to a computer system, program or data. A passphrase is similar to a password in usage, but is generally longer for added security. Passphrases are often used to control both access to, and operation of, cryptographic programs and systems. Passphrases are particularly applicable to systems that use the passphrase as an encryption key. The origin of the term is by analogy with password. The passphrase in GoldBug must be at least 16 characters long, this is used to create a cryptographic hash, which is longer and stronger.

PGP-Method

Pretty Good Privacy (PGP) is a data encryption and decryption computer program that provides cryptographic privacy and authentication for data communication. PGP is often used for signing, encrypting and decrypting texts, e-mails, files, directories and whole disk partitions to increase the security of e-mail communications. PGP encryption uses a serial combination of hashing, data compression, symmetric-key cryptography and finally public-key cryptography; each step uses one of several supported algorithms.
The Free Software Foundation has developed its own OpenPGP-compliant program called GNU Privacy Guard (abbreviated GnuPG or GPG). GnuPG is freely available together with all source code under the GNU General Public License (GPL).

Port

In computer networking, a port is an application-specific or process-specific software construct serving as a communications endpoint in a computer's host operating system. A port is associated with an IP address of the host, as well as the type of protocol used for communication. The purpose of ports is to uniquely identify different applications
Applications implementing common services often use specifically reserved, well-known port numbers for receiving service requests from client hosts. This process is known as listening and involves the receipt of a request on the well-known port and establishing a one-to-one server-client connection, using the same local port number; other clients may continue to connect to the listening port. This works because a TCP connection is identified by the tuple {local address, local port, remote address, remote port}.

Post

The Hypertext Transfer Protocol (HTTP) is the foundation of data communication for the World Wide Web. The first version of the protocol had only one method, namely GET, which would request a page from a server. POST requests are defined like this: Requests that the server accept the entity enclosed in the request as a new subordinate of the web resource identified by the URI. The data POSTed might be, as examples, an annotation for existing resources; a message for a bulletin board, newsgroup, mailing list, or comment thread; a block of data that is the result of submitting a web form to a data-handling process; or an item to add to a database.

Proxy

In computer networks, a proxy server is a server (a computer system or an application) that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server and the proxy server evaluates the request as a way to simplify and control its complexity. Today, most proxies are web proxies, facilitating access to content on the World Wide Web.

Qt

Description will follow.

Repleo

Description will follow.

RSA

Description will follow.

Scrambler

Description will follow.

Salt

Description will follow.

Signature

The use of these (public key) algorithms also allows the authenticity of a message to be checked by creating a digital signature of the message using the private key, which can then be verified by using the public key. In practice, only a hash of the message is typically encrypted for signature verification purposes. The Digital Signature Algorithm is the most widely used digital signature system.

Source

Description will follow.

SSL

Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols that provide communication security over the Internet. They use asymmetric cryptography for authentication of key exchange, symmetric encryption for confidentiality and message authentication codes for message integrity. Several versions of the protocols are in widespread use in applications such as web browsing, electronic mail, Internet faxing and instant messaging.

Super Echo

Description will follow.

Tor

Description will follow.

Web-Of-Trust

Description will follow.

GoldBug.sf.net

Secure Instant Messenger

Some Testservers:
| 178.83.35.133 : 4710 | home.ayra.ch : 4710 |

Echo Protocol

6 Milestones of Security

Open Source(1) Open Source

The GoldBug Messenger is open source: with BSD-license. Use Open Source Linux instead of Windows.

 

Businesses(2) Decentral SSL

It uses the echo protocol with de-central SSL deployed by Qt & OpenSSL. Read about (half/full) echo below.

End-to-End Encryption(3) End-to-End Encryption

GoldBug integrated the Gemini, Email-Passphrase- and MELODICA-features based on AES-end-to-end-encryption. Read below.

Multi-Encryption(4) Multi-Encryption

GoldBug uses (1) the public/private-Key-Method (asymmetric encryption with RSA-Key) (2) with e.g. AES-Cipher (symmetric-end-to-end encryption) over (3) decentral, self-signed SSL.

Multi-Encryption(5) Strong Encryption

GoldBug uses 2048-RSA-Keysize and up with AES-256.

 

Clientside Encryption(6) Clientside Encryption

You cannot log into a central website, instead you install the GoldBug client on the local device in your hand. Define yourself options like: key-sizes, ciphers, salt-length etc.

Releases & Info

V0.4

GoldBug V 0.4 has been released.
Changelog: Added All-in-One-Key, with seperate keys for Chat and Email, GeoIP.dat path selectable, Gui Improvements. V0.4 is not compatible with V0.2/V0.1.

V0.2

GoldBug V 0.2 has been released.
Changelog 0.2: Added signatures to chat and email messages, added MELODICA-feature, changed message protocols: V0.2 is not compatible with V0.1.

V0.1

GoldBug V 0.1 has been released.



More Screenshots