Kivy is the main framework developed by the Kivy organization,[3] alongside Python for Android,[4] Kivy iOS,[5] and several other libraries meant to be used on all platforms. In 2012, Kivy got a $5000 grant from the Python Software Foundation for porting it to Python 3.3.[6] Kivy also supports the Raspberry Pi which was funded through Bountysource. The framework contains all the elements for building an application such as:
extensive input support for mouse, keyboard, TUIO, and OS-specific multitouch events,
a graphic library using only OpenGL ES 2, and based on Vertex Buffer Object and shaders,
a wide range of widgets that support multitouch,
an intermediate language (Kv)[8] used to easily design custom widgets.
Kivy is the evolution of the PyMT project, and is recommended for new projects
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows. Kivy is the main framework developed by the Kivy organization, alongside Python for...
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows.
Kivy is the main framework developed by the Kivy organization,[3] alongside Python for Android,[4] Kivy iOS,[5] and several other libraries meant to be used on all platforms. In 2012, Kivy got a $5000 grant from the Python Software Foundation for porting it to Python 3.3.[6] Kivy also supports the Raspberry Pi which was funded through Bountysource.
Kivy is a free and open source Python framework for developing mobile apps and other multitouch application software with a natural user interface (NUI). It is distributed under the terms of the MIT License, and can run on Android, iOS, Linux, macOS, and Windows. Kivy is the main framework developed by the Kivy organization, alongside Python for...
Cryptocat's network relies on a XMPP configuration served over WebSockets. According to the project's mission statement, Cryptocat's network only relays encrypted messages and does not store any data.[1] In addition to the Cryptocat client's end-to-end encryption protocol, client-server communication is protected by TLS. Distribution
From March 2011 until March 2016, Cryptocat was officially distributed through the Google Chrome Web Store, the Apple App Store and other official channels controlled by targeted platforms. After Cryptocat's re-write into desktop software in March 2016, the software became distributed exclusively through Cryptocat's own servers, which also handle signed update delivery
For the transport layer, Cryptocat adopts the OMEMO Multi-End Message and Object Encryption standard, which also gives Cryptocat multi-device support and allows for offline messaging Network
Cryptocat's network relies on a XMPP configuration served over WebSockets. According to the project's mission statement, Cryptocat's network only relays encrypted messages and does not store any data.[1] In addition to the Cryptocat client's end-to-end encryption protocol, client-server communication is protected by TLS.
Cryptocat uses a Double Ratchet Algorithm in order to obtain forward and future secrecy across messages, after a session is established using a four-way Elliptic-curve Diffie–Hellman handshake. The handshake mixes in long-term identity keys, an intermediate-term signed pre-key, and a one-time use prekey.[18] The approach is similar to the encryption protocol adopted for encrypted messaging by the Signal mobile application. Cryptocat's goal is for its messages to obtain confidentiality, integrity, source authenticity, forward and future secrecy and indistinguishability even over a network controlled by an active attacker.[3] The forward secrecy features of the protocol that Cryptocat uses are similar to those first introduced by Off-the-Record Messaging. Cryptocat uses the Advanced Encryption Standard in Galois/Counter Mode for authenticated encryption, Curve25519 for Elliptic curve Diffie-Hellman shared secret agreement, HMAC-SHA256 for key derivation and Ed25519 for signing.[19] In order to limit the effect of a long-term identity key compromise, long-term keys are used exclusively once for the initial Authenticated Key Exchange, and once for signing a newly generated intermediate-term signed prekey.
For the transport layer, Cryptocat adopts the OMEMO Multi-End Message and Object Encryption standard, which also gives Cryptocat multi-device support and allows for offline messaging
In November 2013, Cryptocat was banned in Iran, shortly after the election of Iran's new president Hassan Rouhani who had promised more open Internet laws Cryptocat was listed on the Electronic Frontier Foundation's "Secure Messaging Scorecard" from 4 November 2014 until 13 March 2016. During that time, Cryptocat had a score of 7 out of 7 points on the scorecard. It had received points for having communications encrypted in transit, having communications encrypted with keys the provider did not have access to (end-to-end encryption), making it possible for users to independently verify their correspondent's identities, having past communications secure if the keys were stolen (forward secrecy), having its code open to independent review (open-source), having its security designs well-documented, and having completed an independent security audit Architecture
Encryption
Cryptocat uses a Double Ratchet Algorithm in order to obtain forward and future secrecy across messages, after a session is established using a four-way Elliptic-curve Diffie–Hellman handshake. The handshake mixes in long-term identity keys, an intermediate-term signed pre-key, and a one-time use prekey.[18] The approach is similar to the encryption protocol adopted for encrypted messaging by the Signal mobile application. Cryptocat's goal is for its messages to obtain confidentiality, integrity, source authenticity, forward and future secrecy and indistinguishability even over a network controlled by an active attacker.[3] The forward secrecy features of the protocol that Cryptocat uses are similar to those first introduced by Off-the-Record Messaging.
In November 2013, Cryptocat was banned in Iran, shortly after the election of Iran's new president Hassan Rouhani who had promised more open Internet laws
In November 2013, Cryptocat was banned in Iran, shortly after the election of Iran's new president Hassan Rouhani who had promised more open Internet laws Cryptocat was listed on the Electronic Frontier Foundation's "Secure Messaging Scorecard" from 4 November 2014 until 13 March 2016. During that time, Cryptocat had a score of 7 out of 7 points on the scorecard. It had received points for having communications encrypted in transit, having communications encrypted with keys the provider did not have access to (end-to-end encryption), making it possible for users to independently verify their correspondent's identities, having past communications secure if the keys were stolen (forward secrecy), having its code open to independent review (open-source), having its security designs well-documented, and having completed an independent security audit
Reception and usage
In June 2013, Cryptocat was used by journalist Glenn Greenwald while in Hong Kong to meet NSA whistleblower Edward Snowden for the first time, after other encryption software failed to work.
In November 2013, Cryptocat was banned in Iran, shortly after the election of Iran's new president Hassan Rouhani who had promised more open Internet laws
All messages, files and audio/video recordings sent over Cryptocat are end-to-end encrypted. Cryptocat users link their devices to their Cryptocat account upon connection, and can identify each other's devices via the client's device manager in order to prevent man-in-the-middle attacks. Cryptocat also employs a Trust on first use mechanism in order to help detect device identity key changes. Cryptocat also includes a built-in auto-update mechanism that automatically performs a signature check on downloaded updates in order to verify authenticity, and employs TLS certificate pinning in order to prevent network impersonation attacks.
Originally in 2013, Cryptocat offered the ability to connect to Facebook Messenger to initiate encrypted chatting with other Cryptocat users. According to the developers, the feature was meant to help offer an alternative to the regular Cryptocat chat model which did not offer long-term contact lists. This feature was disconnected in November 2015.